<script>
(function(){
var a = b = 5;
})();
console.log(b);
</script>
这样输出结果是5,吃惊不?
为什么呢?因为,a是个局部变量,但是b却是个全局变量,如果使用严格模式( use strict )的话就会提示b is not defined 了。
本文通过一个简单的JavaScript示例解释了为何在某些情况下未明确声明的变量会成为全局变量,并探讨了使用严格模式来避免此类问题的方法。
<script>
(function(){
var a = b = 5;
})();
console.log(b);
</script>
这样输出结果是5,吃惊不?
为什么呢?因为,a是个局部变量,但是b却是个全局变量,如果使用严格模式( use strict )的话就会提示b is not defined 了。

被折叠的 条评论
为什么被折叠?