最近在看阮一峰老師的《ES6》
看到let時,發現一處for循環很神奇的地方。
書中的原話是:“另外,for循環還有一個特別之處,就是設置變量的那部分是一個父作用域,而循環體內部是一個單獨的子作用域。”
書中的例子是:
1 for(let i = 0; i < 3; i++){ 2 let i = 'abc'; 3 console.log(i); 4 } 5 //abc 6 //abc 7 //abc
在for循環體內部,用let 聲明一個變量i為‘abc’,而for循環設置變量的地方也是let 聲明的變量i。
let生命的變量是在塊及作用域起作用。輸出的結果是三次abc。
並不是0,1,2,從這點可以看出,
設置循環變量的地方就是父作用域!循環體內部就是單獨的子作用域!
