demo6理解有誤吧
js沒有塊級作用域熊杨,if中的var foo會提升到if前,局部變量將全局變量屏蔽了跃捣,你將var foo =10; 改為 foo = 10;就可以輸出1了焰情,代碼應(yīng)該是轉(zhuǎn)變?yōu)橄旅孢@個
var foo = 1;
function bar() {
var foo;
if(!foo)
{
foo = 10;
}
console.log(foo);
}
bar();// 10
歡迎交流
一些經(jīng)典的前端面試題分析--js函數(shù)與變量提升前面講完變量提升的知識和注意點,這次主要是來點題目操練一下,廢話不多說了,直接上案例.注意undefined和報錯的區(qū)別:變量申明未賦值--undefined未申明也沒有賦值...