將陣列傳遞給 JavaScript 中的函式
-
使用
apply()
方法將陣列傳遞給 JavaScript 中的函式 -
使用
spread
運算子將陣列傳遞給 JavaScript 中的函式 -
使用
arguments
物件將陣列傳遞給 JavaScript 中的函式
本教程旨在教你使用 JavaScript 將陣列傳遞給函式的不同方法。它突出了 apply()
方法、spread
運算子、arguments
物件以及將整個陣列作為引數傳遞給函式的方法。
apply()
方法執行具有 this
值的函式,並將引數作為陣列或類似陣列的物件提供。它用於必須傳遞的特定函式。
在 apply()
方法中,this
值是呼叫函式的第一個引數,而 arguments
是要傳遞的引數陣列的第二個引數。
請記住,如果 this
值不能是函式看到的原始值(如果該方法是非嚴格模式程式碼中的函式)。全域性物件將是 null
和 undefined
,而原始值將被裝箱。
ECMAScript 6 (ES6) 提供了一個名為 spread
的驚人運算子。它在 JavaScript 程式碼中寫為 ...
。該運算子允許迭代,例如陣列。它用於處理所有陣列元素或物件。
另一方面,arguments
物件是一個類陣列(意味著 arguments
具有 length
屬性)物件,我們可以在具有引數值的函式中使用它。
使用 apply()
方法將陣列傳遞給 JavaScript 中的函式
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);
function displayName(){
for(var i=0; i<names.length; i++){
console.log(names[i]);
}
}
輸出:
"Mehvish"
"John"
"Henry"
"Thomas"
在上面給出的示例中,我們有一個 names
陣列和一個名為 displayName()
的函式,用於列印 names
陣列的所有元素。我們使用 apply()
方法將陣列傳遞給 displayName()
函式。
使用 spread
運算子將陣列傳遞給 JavaScript 中的函式
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(...names);
function displayName(){
for(var i=0; i<names.length; i++){
console.log(names[i]);
}
}
輸出:
"Mehvish"
"John"
"Henry"
"Thomas"
在這裡,我們再次使用 names
陣列和 displayNames()
函式來列印所有陣列元素。我們使用 spread
語法 ...
將整個陣列傳遞給函式。
使用 arguments
物件將陣列傳遞給 JavaScript 中的函式
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);
function displayName(){
for(var i=0; i<arguments.length; i++){
console.log(arguments[i]);
}
}
輸出:
["Mehvish", "John", "Henry", "Thomas"]
在上面給出的程式碼片段中,我們使用 arguments
物件將 names
陣列傳遞給 displayName()
函式。我們可以將整個陣列作為引數傳遞給函式以簡化程式碼。
為此,你可以練習以下程式碼。
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);
function displayName(){
for(var i=0; i<names.length; i++){
console.log(names[i]);
}
}
輸出:
"Mehvish"
"John"
"Henry"
"Thomas"