在 javascript 中,對於函式參數其實有一個關鍵字 arguments
我們嘗試印出函式中的特殊關鍵字 arguments
另外,javascript 中是可以允許傳送與函式參數定義不同的數量的參數
[javascript] function test(a, b, c) { console.log(“a:“+a); console.log(“b:“+b); console.log(“c:“+c); console.log(arguments); } test(“apple”, “orange”, “banana”); // a:apple // b:orange // c:banana // [“apple”, “ornage”, “banana”] test(“apple”); // a:apple // b:undefined // c:undefined // [“apple”] test(“apple”, “orange”, “banana”, “grape”); // a:apple // b:orange // c:banana // [“apple”, “orange”, “banana”, “grape”] [/javascript]
從以上這段程式碼我們可以看到幾個特性
- 在 javascript 中,我們可以傳多於或少於宣告時的參數數量。
- 在 javascript 中,參數的指派順序為由左至右。
- 在傳入少於宣告時的參數數量時,其他參數將被初始為 undefined。
- 在傳入多於宣告時的參數數量時,我們可以透過 arguments 存取到參數。
接下來,我們要介紹展開運算子(…)的使用,也就是可以將剛剛的程式碼傳入過多的參數狀況時,將這些多於的參數存入一個變數。
舉程式碼的例子來說:
[javascript] function test(a, b, …other) { console.log(“a:“+a); console.log(“b:“+b); console.log(other); } test(“apple”, “banana”, “grape”, “lemon”); // a:apple // b:banana // other:[“grape”, “lemon”] [/javascript]
參考資料:
https://pjchender.blogspot.tw/2016/04/javascriptparameterargumentsspread.html