摘自:網(wǎng)道(WangDoc.com)父虑,互聯(lián)網(wǎng)文檔計劃——JavaScript 教程
JavaScript 引擎的工作方式是白修,先解析代碼溉瓶,獲取所有被聲明的變量伤疙,然后再一行一行的運行。這造成的結果慎框,就是所有的變量的聲明語句良狈,都會被提升到代碼的頭部,這就叫做變量提升(hoisting)笨枯。
console.log(a);
var a = 1;
上面的代碼首先使用 console.log
方法薪丁,在控制臺(console)顯示變量 a
的值。這時變量a
還沒有聲明和賦值馅精,所以這是一種錯誤的做法严嗜,但是實際上不會報錯。因為存在變量提升洲敢,真正運行的是下面的代碼漫玄。
var a;
console.log(a);
a = 1;
最后的結果顯示undefined
,表示變量a
已聲明压彭,但還未賦值睦优。