作用域
使用let
/const
替代var
。
var
有什么错?
var
说明的变量会产生作用于提升的概念。
ES5:
var x = 'outer';
function test(inner) {
if (inner) {
var x = 'inner'; // scope whole function
return x;
}
return x; // gets redefined because line 4 declaration is hoisted
}
test(false); // undefined