函數聲明和函數表達式的區別

  • 函數聲明:
    function 關鍵字可以聲明一個函數
  • 函數表達式:
    var聲明一個變量,給它賦值為函數
function fn () {}  // function 聲明函數
var fn = function () {} // 函數表達式

區別

function聲明函數,會聲明前置。
var 構造函數表達式,函數聲明不會前置

fn()
function fn(){
      console.log ('hello')
}
//不會報錯,因為function聲明會自動前置
fn()
var fn=function(){
      console.log ('hello')
}
// 會報錯,因為函數表達式,函數聲明不會前置
// 調用函數fn(),沒有聲明就報錯了
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 函數聲明和函數表達式有什么區別 (*)解析器會率先讀取函數聲明,并使其在執行任何代碼之前可以訪問;函數表達式則必須...
    coolheadedY閱讀 402評論 0 1
  • js函數聲明和函數表達式的區別 簡單來說,ECMAScript是通過上下文來區分這兩者的:假如 function ...
    該昵稱注冊中閱讀 972評論 0 2
  • 1.函數聲明和函數表達式有什么區別 (*) 區別: 函數聲明后面的分號可加可不加,不加也不影響接下來語句的執行,但...
    Sheldon_Yee閱讀 418評論 0 1
  • 函數聲明會被解析器提升,因此被調用的函數聲明可以寫在調用函數的前面或者后面;而函數表達式則不會,必需寫在調用函數的...
    F_wind閱讀 244評論 0 2
  • 問答題 函數聲明和函數表達式有什么區別 (*)答://函數聲明function hello(){ conso...
    饑人谷_桶飯閱讀 256評論 0 0