關於arguments的使用

2021-08-10 11:28:01 字數 1294 閱讀 7728

arguments是乙個對應於傳遞給函式的引數的類陣列物件。

arguments物件是所有(非箭頭)函式中都可用的區域性變數。你可以使用arguments物件在函式中引用函式的引數。此物件包含傳遞給函式的每個引數的條目,第乙個條目的索引從0開始。例如,如果乙個函式傳遞了三個引數,你可以以如下方式引用他們:

arguments[0]

arguments[1]

arguments[2]

引數也可以被設定:

arguments[1] = 'new value';
arguments物件不是乙個 array 。它類似於array,但除了長度之外沒有任何array屬性。例如,它沒有 pop 方法。但是它可以被轉換為乙個真正的array:

var args = array.prototype.slice.call(arguments);

//或者

var args = .slice.call(arguments);

// es6

const args = array.from(arguments);

如果呼叫的引數多於正式宣告接受的引數,則可以使用arguments物件。這種技術對於可以傳遞可變數量的引數的函式很有用。使用 arguments.length來確定傳遞給函式引數的個數,然後使用arguments物件來處理每個引數。

例子定義連線字串的函式

這個例子定義了乙個函式來連線字串。這個函式唯一正式宣告了的引數是乙個字串,該引數指定乙個字元作為銜接點來連線字串。該函式定義如下:

function

myconcat

(separator)

可以傳遞任意數量的引數到該函式,並使用每個引數作為列表中的項建立列表。

// returns "red, orange, blue"

myconcat(", ", "red", "orange", "blue");

// returns "elephant; giraffe; lion; cheetah"

myconcat("; ", "elephant", "giraffe", "lion", "cheetah");

// returns "sage. basil. oregano. pepper. parsley"

myconcat(". ", "sage", "basil", "oregano", "pepper", "parsley");

使用 arguments 物件

arguments 物件表示引數集合,它是乙個偽類陣列,擁有與陣列相似的結構,可以通過陣列下標的形式訪問函式實參值,但是沒有基礎 array 的原型方法。函式沒有定義形參,但是在函式體內通過 arguments 物件可以獲取傳遞給該函式的每個實參值。function f f 3,3,6 逐個顯示每個...

關於 js中的arguments 物件

arguments物件包含了函式執行時的所有引數,arguments 0 就是第乙個引數,arguments 1 就是第二個引數,以此類推。這個物件只有在函式體內部,才可以使用。var f function one f 1,2,3 1 2 3 正常模式下,arguments物件可以在執行時修改。va...

JS函式 arguments的使用

函式就是封裝了一段可以被重複執行呼叫的 塊。目的 讓大量 重複使用。函式在使用時分為兩步 1.宣告函式 1 function 函式名 2.呼叫函式 函式不呼叫不執行 函式名 我們可利用函式的引數實現函式重複不同的 1 function 函式名 形參1,形參2 4 函式名 實參1,實參2 函式形參和實...