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