剩餘引數(rest)

2021-08-21 18:53:39 字數 1145 閱讀 1633

1>概念:

形式為...變數名,用於獲取函式除開始引數外的引數,可以使用剩餘引數代替arguments物件,但他是乙個真正的陣列。

2>替換arguments**

//arguments寫法

function sortnumber()

//rest引數寫法

const sortnumber=(...numbers)=>numbers.sort();

​​​​​​​3>arguments與剩餘引數的區別

arguments是乙個偽陣列剩餘引數是乙個真正的陣列,具有array.prototype上所有的方法;

arguments上有callee,calller方法

​​​​​​​4>注意點

4.1>rest引數之後不能再跟任何其他引數,否則報錯

function f(a,...b,c)
4.2>函式的length屬性不包括rest引數

console.log(push(a,1,2,3))

console.log(push.length);//1

4.3>從語言角度,arguments和剩餘引數是可以同時使用的,但是在箭頭函式中arguments會跟隨上下文繫結到上層所以在不確定上下文繫結的情況下,盡量不要在箭頭函式中使用arguments,而是用剩餘引數。

剩餘引數Rest與 Spread 語法

可以通過使用三個點 並在後方跟著包含剩餘引數的陣列名稱,將其包含在函式定義中,也就是將剩餘的引數收集到乙個陣列中 const sumall args console.log sumall 2,3,4 9也可以將第乙個引數作為變數,將其餘的收集起來 const str firstname,args c...

函式的rest引數

如果想要實現為函式傳入多個引數,那麼可以使用arguments物件,例如 function foo foo 1,2,3 12 3 可是我們都知道arguments只是乙個類似陣列的物件而並不是陣列,所以如果我們想使用一些陣列上的方法例如sort方法就很不方便。es6中新增加了rest引數 形式為.變...

剩餘引數語法

剩餘引數語法允許我們將乙個不定數量的引數表示為乙個陣列。語法function a,b,theargs 如果函式的最後乙個命名引數以.為字首,則它將成為乙個陣列,其中從0 包括 到theargs.length 排除 的元素由傳遞給函式的實際引數提供。在上面的例子中,theargs將收集該函式的第三個引...