JavaScript易错知识点整理
1.变量作用域

上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2。

上方的函数作用域中虽然声明并赋值了a,但位于console之下,a变量被提升,输出时已声明但尚未被赋值,所以输出undefined。

上方的函数作用域中a被重新赋值,未被重新声明,且位于console之下,所以输出全局作用域中的a。

上方函数作用域中使用了ES6的let重新声明了变量b,而let不同于var其不存在变量提升的功能,所以输出报错b is not defined。

278

被折叠的 条评论
为什么被折叠?



