var: 1)声明作用域:在函数内部,使用var定义一个变量(局部变量),在函数被调用完之后,该变量会被立即销毁.在定义变量时如果省略var,就会创建一个全局变量(不建议在局部作用域中定义全局变量,难维护,而且在严格模式下,会导致抛出ReferenceError). 2)声明提升:把所有变量声明都拉到函数作用域的顶部. function foo(){ console.log(age); var age = 18; } 其实和下面得一样 function foo(){ var age; conso…
JavaScript var, let, const difference All In One js var, let, const 区别 All In One 是否存在 hoisting var 存在 hoisting; let, const 不存在 hoisting; let, const 存在 TDZ 暂时死区,在定义之前,不可以访问 const log = console.log; log(`i =`, i); // Uncaught ReferenceError: i is not…