JavaScript function 函式
函式是JavaScript中應用最為廣泛的資料結構。
首先看一段程式碼例項感受一下它的功能:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function func(webName,age){ let str=webName+"已經"+age+"歲了"; console.log(str); } func("螞蟻部落",5); func("百度",18);
程式碼執行效果截圖如下:
上面程式碼建立一個函式,呼叫兩次並傳遞不同的引數。
由此我們可以對函式做一個總結:
(1).函式構成需要符合一定的語法規範。
(2).能夠接受引數。
(3).可以重複利用。
(4).函式可以返回一個值,上面程式碼並沒有演示。
一.建立函式:
函式結構需要符合一定的語法規範,當前建立函式有三種方式:
(1).函式宣告方式。
(2).函式表示式方式。
(3).利用Function建構函式。
下面分別做一下詳細介紹:
函式宣告方式:
此方式建立函式必須要遵循如下嚴格的語法規則:
[JavaScript] 純文字檢視 複製程式碼function 函式名稱 (引數:可選){ 函式體 }
特別說明:函式宣告方式建立函式,函式名稱是必須的,表示式方式則是可選的。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function func(webName,age){ // code }
結構分析如下:
(1).func是函式名稱。
(2).函式名稱後面是一個小括號,小括號是必須的。
(3).小括號中的webName與age是引數,引數是可選的。
(4).大括號中內容是函式體部分,是具體的功能實現,可以為空,但是大括號不能省略。
表示式方式宣告:
語法規則如下:
[JavaScript] 純文字檢視 複製程式碼function 函式名稱(可選)(引數:可選){ 函式體 }
表示式方式宣告的函式,名稱是可選的,這一點與函式宣告方式不同。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=function func(webName){ console.log(webName); } func("螞蟻部落")
程式碼執行效果截圖如下:
上述程式碼就是一個賦值表示式,右側函式帶有名字,最常見的是沒有名字的形式:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=function(webName){ console.log(webName); } func("螞蟻部落")
程式碼執行效果截圖如下:
所謂表示式方式宣告,本質就是讓函式處於表示式環境中,作為一個運算元存在。
理解了本質,就可以對其進行靈活應用,最常見的是對匿名函式的使用。
具體參閱JavaScript 匿名函式一章節。
ES2015新增箭頭函式,全部是匿名函式,也就是通過表示式方式宣告。
關於箭頭函式具體參閱JavaScript 箭頭函式一章節。
Function建構函式方式:
function函式自身也是一個物件例項,它可以由Function建構函式建立。
具體可以參閱JavaScript Function一章節。
二.函式的呼叫與返回值:
函式名稱+()可以呼叫指定函式,通過小括號可以傳遞引數。
對於任何方式宣告的函式都適用,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function func(a,b){ let num=a+b; return num; } console.log(func(1,2));
程式碼執行效果截圖如下:
通過語句可以返回一個值,如果沒有return語句,相當於返回undefined。
三.函式宣告提升:
函式宣告具有提升效果,具體參閱JavaScript 變數與函式宣告前置一章節。
我們說建立函式有三種方式,而不能說宣告函式有三種方式。
宣告函式就是本文介紹的第一種建立函式的方式。
相關文章
- JavaScript入門-函式function(二)JavaScript函式Function
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- JavaScript 高階函式(Heigher-order function)JavaScript函式Function
- JavaScript: window.onload = function() {} 裡面的函式不執行JavaScriptFunction函式
- Java 8 Function 函式介面JavaFunction函式
- js的函式function(一)JS函式Function
- PyTorch:損失函式loss functionPyTorch函式Function
- Function(函式分享)第二節Function函式
- 高階函式 - Higher Order Function函式Function
- 實現call函式,手寫Function.prototype.call函式函式Function
- javaScript函式JavaScript函式
- JavaScript FunctionJavaScriptFunction
- javascript 中function(){},new function(),new Function(),Function 摘錄JavaScriptFunction
- java8 函式式介面——Function/Predict/Supplier/ConsumerJava函式Function
- ES6 箭頭函式(arrow function)函式Function
- Python進階 函式快取 (Function caching)Python函式快取Function
- JavaScript 匿名函式JavaScript函式
- JavaScript睡眠函式JavaScript函式
- JavaScript Generator 函式JavaScript函式
- javascript函式(5)JavaScript函式
- JavaScript Function物件JavaScriptFunction物件
- javascript-函式表示式JavaScript函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- 邏輯迴歸損失函式(cost function)邏輯迴歸函式Function
- ThinkPHP函式提示錯誤function undefined的方法PHP函式FunctionUndefined
- JavaScript函式宣告和函式表示式區別JavaScript函式
- 【譯】節選--揭祕命名函式表示式(Named function expressions )函式FunctionExpress
- 【譯】節選–揭祕命名函式表示式(Named function expressions )函式FunctionExpress
- JavaScript中的compose函式和pipe函式JavaScript函式
- javascript常用函式大全JavaScript函式
- javascript函式全解JavaScript函式
- JavaScript裡的函式JavaScript函式
- JavaScript 回撥函式JavaScript函式
- JavaScript 建構函式JavaScript函式
- JavaScript | 函式與方法JavaScript函式
- JavaScript 箭頭函式JavaScript函式
- JavaScript回撥函式JavaScript函式
- JavaScript 函式語法JavaScript函式