作用域变量 var
var沒有塊級作用域,定義后在當前閉包中都可以訪問,如果變量名重復,就會覆蓋前面定義的變量,并且也有可能被其他人更改。
變量名重復,就會覆蓋前面定義的變量,并且也有可能被其他人更改:
console.log(a);function a() {console.log(1) } function a() {console.log(2) }輸出 :? 2?
?
定義后在當前閉包中都可以訪問
if (true) {var a = "a"; // 期望a是某一個值 } console.log(a);輸出:? ?a
?
?
var在for循環標記變量共享,一般在循環中使用的i會被共享,其本質上也是由于沒有塊級作用域造成的
for (var i = 0; i < 10; i++) {setTimeout(function () {alert(i);}, 0); } 彈窗 10 次?
轉載于:https://www.cnblogs.com/guangzhou11/p/11325573.html
總結
- 上一篇: 看《你必须知道的.NET》有感--工厂模
- 下一篇: 块级作用域