JavaScript函式宣告和函式表示式區別
JavaScript中有兩種方式建立函式:
(1).函式宣告方式。
(2).函式表示式方式。
兩者作用應該沒有異議,都可以建立一個函式,但是兩者的區別也是巨大的。
一.函式宣告:
所謂的函式宣告就是以正規的語法方式建立一個函式:
[JavaScript] 純文字檢視 複製程式碼function functionName(){ //code }
函式宣告的語法格式是固定的,必須是function關鍵字+函式名稱+小括號()+大括號的函式體內容。
再來看一段程式碼:
[JavaScript] 純文字檢視 複製程式碼func(); function func(){ console.log("螞蟻部落"); }
JavaScript程式碼是順序執行的,但func函式依然可以正常執行,因為函式宣告有提升效果。
關於宣告提升可以參閱JavaScript變數和函式宣告宣告前置一章節。
二.函式表示式:
關於表示式的概念可以參閱JavaScript 表示式一章節。
所謂的函式表示式其實就是函式宣告存在於一個表示式語句中,可以是具名的函式,也可以是匿名函式函式。
看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼func() var func=function(){ console.log("螞蟻部落"); }
上面的程式碼會報錯,因為通過表示式方式建立一個函式,將函式物件賦值給變數func,變數宣告在預編譯階段是前置,但變數的賦值是發生在執行時階段,所以當呼叫func函式的時候,變數還沒有被賦值,再來看一段程式碼:
[JavaScript] 純文字檢視 複製程式碼newFunc(); var newFunc=function func(){ console.log("螞蟻部落"); }
上面程式碼是一個不倫不類的表示式方式,當然實際中沒有人這麼用。
其實表示式方式就是將一個函式物件賦值給一個變數,然後再使用此變數呼叫函式,就是一個簡單的賦值語句。
更多關於表示式方式宣告函式可以參閱JavaScript 小括號()分組運算子一章節。
相關文章
- 函式宣告和函式表示式的區別函式
- js表示式方式和函式語句方式宣告函式的區別JS函式
- 函式表示式和函式宣告簡單介紹函式
- javascript 的函式宣告與表示式對比JavaScript函式
- 正規表示式match()函式和exec()函式的區別函式
- 何時使用函式表示式與函式宣告函式
- javascript兩種宣告函式方式的區別JavaScript函式
- JS 中的函式表示式和函式宣告你混淆了嗎?JS函式
- JavaScript建構函式和普通函式的區別JavaScript函式
- JavaScript方法和函式區別JavaScript函式
- JavaScript 函式宣告方式JavaScript函式
- javascript-函式表示式JavaScript函式
- javascript基礎(函式與方法的區別,變數作用域,變數和函式的宣告提前,函式作用域)(十五)JavaScript函式變數
- prop()函式和attr()函式的區別函式
- jquery position()函式和offset()函式的區別jQuery函式
- # 普通函式和箭頭函式的區別函式
- JavaScript進階系列01,函式的宣告,函式引數,函式閉包JavaScript函式
- TypeScript 中函式的理解?與 JavaScript 函式的區別?TypeScript函式JavaScript
- JavaScript:鉤子函式與回撥函式的區別JavaScript函式
- 宣告與函式、函式指標函式指標
- 你不知道的JavaScript--Item7 函式和(命名)函式表示式JavaScript函式
- StretchBlt函式和BitBlt函式的區別和用法函式
- jquery的$.each()函式和$.map()函式的區別jQuery函式
- closest()函式parent()函式的區別函式
- JavaScript函式和方法區別演示程式碼JavaScript函式
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- 變數和函式宣告提升,let和var const區別變數函式
- 06函式宣告函式
- 箭頭函式和普通函式的10個區別函式
- 面試題:箭頭函式和普通函式的區別面試題函式
- 簡述箭頭函式和普通函式的區別函式
- 箭頭函式與普通函式區別函式
- JavaScript塊級作用域宣告函式JavaScript函式
- JavaScript 變數與函式宣告前置JavaScript變數函式
- JavaScript 函式的兩種宣告方式JavaScript函式
- kotlin 函式和 Lambda 表示式Kotlin函式