js
JimG
努力进步
展开
-
JS中的块级作用域
块级作用域 在ES5中,只有全局作用域和函数作用域。 影响: if内层变量可能覆盖外层变量 for循环的变量会泄露成全局变量 使用var var a = 1; if(1) { var a = 3; } console.log(a); //打印3,被if中的声明覆盖 使用let let a = 1; if(1) { let a = 3; } console.log(a); //打印2,if...原创 2019-11-16 23:13:09 · 501 阅读 · 0 评论 -
JS中的变量提升
变量提升 变量提升即将变量声明提升到它所在作用域的最开始的部分。 简单来讲 let和const 会在声明地方到块级顶部形成临时性死区,在这区间使用该变量都会被报错。例: console.log(a); // 下面使用了let a,所以生成了变量名a的死区,调用了a所以报错 let a = 5; console.log(a); // 我的理解是使用了let后解锁死区,a可以调用。 var 的变...原创 2019-11-16 23:12:19 · 161 阅读 · 0 评论