在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 函數(shù)聲明提前的小問題

函數(shù)聲明提前的小問題

var get = function () {
    console.log("get1");
}
function get() {
    console.log("get2");
}
get()

//輸出get1
這里為什么輸出get1

回答
編輯回答
大濕胸

我的理解應(yīng)該是這樣,希望能對你有所幫助:

var get; //變量聲明提升
function get() {  //函數(shù)聲明提升到頂部
    console.log("get2");
}
get = function () { //變量賦值依然保留在原來的位置
    console.log("get1");
}
get();  //最終輸出:get1
2017年5月25日 16:26
編輯回答
陪妳哭

由于函數(shù)提升和變量提升,執(zhí)行的代碼是這樣的。

function get() {
    console.log("get2");
}
var get;
get = function () {
    console.log("get1");
}
get();

函數(shù)提升比變量提升優(yōu)先級高,第一個函數(shù)聲明被第二個同名函數(shù)表達(dá)式覆蓋了, 所以打印get1.

2018年7月10日 09:59
編輯回答
膽怯

給樓上補充一下,

聲明提前發(fā)生在代碼實際執(zhí)行之前

不知道是否有助于題主理解

2018年3月28日 05:25
編輯回答
遺莣

補充題主疑問,出處請點這里 Standard ECMA-262

2018年3月11日 22:20