首先,先丢出来一道题: var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); 复制代码 如果我们不了解 javascript 中的变量提升和函数声明提升,那么我们的答案肯定是 1。 那么正确的答案是什么呢? 我们首先把这段代码还原: var foo = 1; function bar(){ ...
首先,先丢出来一道题: var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); 复制代码 如果我们不了解 javascript 中的变量提升和函数声明提升,那么我们的答案肯定是 1。 那么正确的答案是什么呢? 我们首先把这段代码还原: var foo = 1; function bar(){ ...