函數表達式與函數聲明之間的區別

函數聲明與函數表達式的區別一直沒有搞清楚,現在就來梳理一下

定義一個函數,又是三種方法:

  • 函數聲明

  • 函數表達式

  • 通過new function構造函數(這種用來生成對象,與題目無關,略)


接下來我們回到主題,函數聲明與函數表達式的區別在哪里?


區別:

  • 形式不同;
函數聲明:
function  declaration(){
    console.log('這是函數聲明')
}

函數表達式:
var expression = function(){
    console.log('這是函數表達式')
}
  • 函數聲明可以省略標識符(函數名),但是函數表達式必須要有標識符(函數名)

函數表達式省略標識符(函數名)的情況你肯定見過:

function (){
    console.log('這是函數聲明')
}

但是函數表達式省略標識符(函數名)的情況你見過嗎:

var  = function(){
    console.log('這是函數表達式')
}

肯定沒見過吧。

  • 函數聲明要提前(最大區別)

函數聲明是在預執行期執行的,就是說函數聲明是在瀏覽器準備執行代碼的時候執行的。因為函數聲明在預執行期被執行,所以到了執行期,函數聲明就不再執行(人家都執行過了自然就不再執行了)。

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

推薦閱讀更多精彩內容

  • 大家好,我是IT修真院萌新分院的張曉琳,一枚正直、純潔、善良的前端程序員。 今天給大家分享一下,修真院官網任務js...
    Demon_0481閱讀 852評論 0 0
  • 前言 人生苦多,快來 Kotlin ,快速學習Kotlin! 什么是Kotlin? Kotlin 是種靜態類型編程...
    任半生囂狂閱讀 26,259評論 9 118
  • 這篇文章主要介紹了JavaScript中的函數聲明和函數表達式區別淺析,本文總結的淺顯易懂,非常好的一篇技術文章,...
    寧驥閱讀 573評論 0 1
  • 本周計劃與小結 ?時時記錄–必須隔離環境堅持番茄鐘工作與休息–培養耐心最重要的是要提升你對時間的感知能力 發現做不...
    黃冉欣閱讀 63評論 0 0
  • 人這一輩子,過程是各有春秋,但結局絕對都一樣,都要走到盡頭,面對死亡。但在豐富多彩的人生過程中,有錢或者有愛是多數...
    a安于此生閱讀 701評論 0 0