函數(shù)表達(dá)式

定義函數(shù)的方法有兩種:函數(shù)聲明和函數(shù)表達(dá)式

類似這樣的就是函數(shù)表達(dá)式

var x = function () {
   alert(1);
};

兩者有什么不同?

函數(shù)表達(dá)式可以忽略標(biāo)識(shí)符,不需要取名字

最重要的差別:

函數(shù)聲明會(huì)提升,在執(zhí)行代碼之前會(huì)先讀取函數(shù)名稱。這就意味著可以把函數(shù)聲明放到調(diào)用它的語句后面。但函數(shù)表達(dá)式不能。

f();
  
var f=function(){
    alert(1);
}
//這樣會(huì)報(bào)錯(cuò)

如下就不會(huì)報(bào)錯(cuò),代碼會(huì)正常運(yùn)行

f();

function f(){
    alert(1);
}

解析器在向執(zhí)行環(huán)境中加載數(shù)據(jù)時(shí),對函數(shù)聲明和函數(shù)表達(dá)式并非一視同仁。解析器會(huì)率先讀取函數(shù)聲明,并使其在執(zhí)行任何代碼之前可用。至于函數(shù)表達(dá)式,則必須等到解析器執(zhí)行到它所在的代碼行,才會(huì)真正被解析執(zhí)行。--摘紅寶書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 函數(shù)聲明和函數(shù)表達(dá)式 函數(shù)聲明和函數(shù)表達(dá)式加以區(qū)別。而實(shí)際上,解析器在向執(zhí)行環(huán)境中加載數(shù)據(jù)時(shí),對函數(shù)聲明和函數(shù)表達(dá)...
    前端精髓閱讀 205評(píng)論 0 0
  • 這篇文章主要介紹了JavaScript中的函數(shù)聲明和函數(shù)表達(dá)式區(qū)別淺析,本文總結(jié)的淺顯易懂,非常好的一篇技術(shù)文章,...
    寧驥閱讀 573評(píng)論 0 1
  • 定義函數(shù)的方式有兩種:函數(shù)聲明和函數(shù)表達(dá)式。 函數(shù)聲明的一個(gè)重要特征就是函數(shù)聲明提升,意思是在執(zhí)行代碼前會(huì)先讀取函...
    oWSQo閱讀 686評(píng)論 0 0
  • 這兩天看這個(gè)理論知識(shí),看的有點(diǎn)小惡心了。。現(xiàn)在稍微總結(jié)一下,大體知道的,然后不全的再隨著自己的理解往上加。 函數(shù)表...
    艾石溪閱讀 351評(píng)論 0 1
  • 從白人大遷徙到光明大遷徙,上現(xiàn)蜃景的風(fēng)險(xiǎn)就要出現(xiàn)在我們這些正在成長中的城市 如果20世紀(jì)所發(fā)生的城市迅速增大被稱為...
    huifang963閱讀 78評(píng)論 0 0