為什么說for循環設置循環變量的那部分是一個父作用域?


最近在看阮一峰老師的《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,從這點可以看出,

設置循環變量的地方就是父作用域!循環體內部就是單獨的子作用域!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM