人生的价值,并不是用时间,而是用深度去衡量的。 ——<列夫·托尔斯泰>
概述
用定义的变量的作用域 var
是函数作用域,或者在任何函数(全局)之外声明。
用定义的变量的作用域 let
是块作用域。
1 | function varvslet() { |
差异明细
变量范围
let
不会提升到它们出现在其中的块的整个范围。相反,var
可以如下提升。
1 | { |
闭环
let
在循环中可以将其重新绑定到循环的每个迭代中,并确保从上一个循环迭代结束时重新为其分配值,因此可以将其用于避免闭包问题。
1 | for (var i = 0; i < 5; ++i) { |
替换 var
为 let
1 | // print 1, 2, 3, 4, 5 |
参考
关注【公众号】,了解更多。
赞赏一下 坚持原创技术分享,您的支持将鼓励我继续创作!