js中函數聲明先提升還是變量先提升


根據官方書籍《你不知道的javascript》(上卷)中寫道:

“函數會首先被提升,然后才是變量”。

例子:

console.log(foo);
function foo(){
	console.log("函數聲明");
}
var foo = "變量";

輸出為:

function foo(){
	console.log("函數聲明");
}

代碼實際是:

function foo(){
    console.log("函數聲明");
}
var foo;
console.log(foo);   
foo = "變量";

函數提升優先級比變量提升要高,且不會被變量聲明覆蓋,但是會被變量賦值覆蓋。
在最后再加上打印就能看到函數已經被覆蓋了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM