ES6中rest引數詳細講解
(1) Rest 引數接受函式的多餘引數,組成一個陣列,放在形參的最後,形式如下:
function func(a, b, ...theArgs){ // ...}
(2) Rest引數和arguments物件的區別:
rest引數只包括那些沒有給出名稱的引數,arguments包含所有引數
arguments 物件不是真正的陣列,而rest 引數是陣列例項,可以直接應用sort, map, forEach, pop等方法
arguments 物件擁有一些自己額外的功能
(3) 從 arguments 轉向陣列
Rest 引數簡化了使用 arguments 獲取多餘引數的方法
// arguments 方法function func(a, b){ var args = Array.prototype.slice.call(arguments); console.log(args) } func(1,2)// Rest 方法function func(a, b, ...args){ // ...}
注意,rest 引數之後不能再有其他引數(即,只能是最後一個引數),否則會報錯
function func(a, ...b, c) { // ...}// Rest parameter must be last formal parameter
函式的 length 屬性,不包括rest引數
(function(a) {}).length // 1(function(...a) {}).length // 0(function(a, b, ...c)).length // 2
(4) Rest引數可以被結構(通俗一點,將rest引數的資料解析後一一對應)不要忘記引數用[]括起來,因為它是陣列
function f(...[a, b, c]) { return a + b + c; } f(1) //NaN 因為只傳遞一個值,其實需要三個值 f(1, 2, 3) // 6 f(1, 2, 3, 4) // 6 (第四值沒有與之對應的變數名)
轉載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4560/viewspace-2822337/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ES6 筆記 Rest 引數和 預設引數筆記REST
- 深入解析 ES6:Rest 引數和引數預設值REST
- Java中的static詳細講解Java
- 方法中引數的型別詳細型別
- MySQL relay log 詳細引數解釋MySql
- mysqldump匯出引數詳細解釋MySql
- UDEV規則引數詳細解釋使用dev
- 指標的詳細講解指標
- dart類詳細講解Dart
- 監聽配置細節引數詳解兩則
- JQuery中$.ajax()方法引數詳解jQuery
- Go Struct超詳細講解GoStruct
- Java EL 詳細用法講解Java
- mysqldump引數詳細說明MySql
- 超詳細https握手與數字簽名講解HTTP
- 引數session_cached_cursors的詳細解釋(zt)Session
- MongoDB啟動命令mongod引數的詳細解釋MongoDB
- tar命令中--exclude引數使用詳解
- react的詳細知識講解!React
- 詳細講解函式呼叫原理函式
- MyBatis-Plus詳細講解(一)MyBatis
- Spark開發-WordCount詳細講解Spark
- Struts配置檔案詳細講解
- 詳細講解SQL中CONVERT轉化函式用法SQL函式
- LVM管理常用命令引數詳細解釋LVM
- ajax 引數詳解
- DockerFile引數詳解Docker
- dd引數詳解
- Mysqldump引數詳解MySql
- vmstat 引數詳解
- AD模數轉換(ADC)在音訊處理中的詳細深度講解音訊
- ORACLE中Cursor_sharing引數詳解Oracle
- oracle中的processes,session,transaction引數詳解OracleSession
- redis配置檔案中各引數詳解Redis
- Android中Activity的LunchMode引數詳解Android
- ASP.NET 中 OutputCache 指令引數詳解ASP.NET
- struts2 action中result引數詳解
- 機器學習之決策樹詳細講解及程式碼講解機器學習