看了这个例子估计你就会明白了
var a = 'global'; function test() { if (!a) { var a = 'part'; } console.log(a); } test()
结果是part, 因为这里有变量声明提前。
function test() { var a; if (!a) { a = 'part'; } console.log(a); }
当调用这个函数的时候,会现在这个函数里提升变量的初始化。
所以在平时工作中,应该尽量减少使用var,多用let和const。