var和let的比较 (☆☆☆☆)
-
var是老版JavaScript中定义变量的标识符;let是新版JavaScript中定义变量的标识符;let的出现是为了解决var定义变量的一些遗留问题而推出的
-
在同一个作用域下,var允许重复声明,let不允许重复声明(原因是var有变量提升,let没有变量提升)
-
var允许先使用再声明(原因是var有变量提升),let必须先声明再使用(let没有变量提升)
-
var的作用域只有全局作用域、函数作用域(块中定义的var变量也是全局作用域);let的作用域是全局作用域、函数作用域 和块作用域
-
一般情况下,推荐使用let。(一定不要忘记了小破站 bilibili )
问题:如果全局和函数作用域中有同名的变量,访问的是谁?局部的!!!