JavaScript函式引數解構賦值
解構賦值可以用於函式傳參,就通過程式碼例項做一下介紹。
一.解構賦值簡單介紹:
ES2015新增的解構賦值功能,極大提高了某些操作的便利性。
首先看兩段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let [webName,age,address]=["螞蟻部落",4,"青島市南區"]; console.log(webName,age,address);
程式碼執行效果截圖如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let {webName,age,address}={webName:"螞蟻部落",age:4,address:"青島市南區"} console.log(webName,age,address);
程式碼執行效果截圖如下:
上面程式碼演示了最基本的解構賦值操作,本質上就是變數宣告和變數賦值操作。
相關閱讀:
(1).陣列解構賦值參閱JavaScript陣列解構賦值一章節。
(2).物件解構賦值參閱JavaScript物件解構賦值一章節。
二.函式引數解構賦值:
本文的標題是“JavaScript函式引數解構賦值”,好像這是ES2015新增的語法功能。
當然上述說法也沒錯,但本質上是解構賦值在函式傳參上的應用。
首先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼let func=(webName,url)=>{ let webName; }
程式碼執行效果截圖如下:
報錯變數重複宣告,函式呼叫後,函式引數部分是宣告並賦值一個變數。
函式內部也有變數webName的宣告,所以導致變數重複宣告。
由此可見,函式引數其實就是待宣告的變數。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=([webName,url])=>{ let str=""; str=webName+"地址是"+url; return str; } console.log(func(["螞蟻部落","softwhy.com"]));
程式碼執行效果截圖如下:
上述程式碼中,使用陣列解構賦值方式為函式傳參。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=({webName,url})=>{ let str=""; str=webName+"地址是"+url; return str; } console.log(func({webName:"螞蟻部落",url:"softwhy.com"}));
程式碼執行效果截圖如下:
上述程式碼中,使用物件解構賦值方式為函式傳參。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=({webName="螞蟻部落",url}={})=>{ return [webName,url]; } console.log(func()); console.log(func({webName:"antzone"})); console.log(func({webName:"螞蟻部落",url:"softwhy.com"}));
程式碼執行效果截圖如下:
由此可見,函式引數的解構賦值也可以結合預設引數使用。
總結如下:
(1).解構賦值本質是變數宣告和變數賦值。
(2).函式引數本質是待宣告賦值的變數。
(3).函式引數解構賦值本質就是解構賦值在函式引數中的應用。
相關文章
- JavaScript 函式引數解構物件JavaScript函式物件
- ES6小技巧 - 使用解構賦值設定函式引數預設值賦值函式
- 函式、引數、解構函式
- JavaScript 物件解構賦值JavaScript物件賦值
- JavaScript 字串解構賦值JavaScript字串賦值
- JavaScript陣列解構賦值JavaScript陣列賦值
- JavaScript解構賦值的用途JavaScript賦值
- Javascript函式引數求值——Thunk函式JavaScript函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 函式解構引數小細節函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 函式中引數傳值函式
- JavaScript函式傳遞引數JavaScript函式
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- 變數的解構賦值變數賦值
- 傳遞指標引數(函式內部給指標賦值)示例指標函式賦值
- 函式引數詳解函式
- 07:函式之函式的引數和返回值函式
- 解構賦值賦值
- 建構函式,拷貝賦值函式的N種呼叫情況函式賦值
- EXTJS 建構函式帶引數JS函式
- C++之Big Three:拷貝構造、拷貝賦值、解構函式探究C++賦值函式
- JavaScript 解構賦值小括號的應用JavaScript賦值
- 1:賦值運算子函式賦值函式
- c++函式引數和返回值C++函式
- 細說函式返回值與引數函式
- 高階函式與標籤函式,解構賦值與物件字面量的簡化學習函式賦值物件
- 函式呼叫引數變數傳值的問題函式變數
- JS解構賦值JS賦值
- 物聯網學習教程—函式引數和函式的值函式
- 函式引數 引數定義函式型別函式型別
- matlab如何給未知數及包含未知數的函式賦值Matlab函式賦值
- Python的函式引數傳遞:傳值?引用?Python函式
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- 結構體中的指標&&複製賦值建構函式改造結構體指標賦值函式
- 從建構函式得到引數型別函式型別
- ES6 - 變數的解構賦值解析變數賦值
- ECMAScript 6入門 - 變數的解構賦值變數賦值