javascript arguments用法簡單介紹

antzone發表於2017-03-21

本章節將會簡單介紹一下arguments的相關知識,因為它是javascript中必須要掌握的最為重要的概念之一,希望能夠給需要的朋友帶來幫助,下面進入正文。

一.基本概念:

arguments是javascript的一個內建物件,和Math或者JSON物件一樣都是以物件形式存在的,無須例項化。

所有的函式都有一個arguments物件,包含了傳遞給函式的所有引數。它的用法類似於陣列,可以使用索引訪問傳遞的引數值,或者使用length屬性返回引數的個數,但是它的的確確是個物件,不是陣列。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function func(m,n){
  console.log(arguments.length);
  console.log(arguments[0]);
}
func(1,2);

以上程式碼可以輸出引數的個數和第一個引數的值,下面再來證明一下它為何不是陣列,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function func(m,n){
  console.log(arguments.push)
}
func(1,2);

arguments並沒有push函式,所以它不是一個陣列。

二.arguments轉化為陣列:

可以講arguments轉換成一個陣列,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var args = Array.prototype.slice.call(arguments);

相關閱讀:

1.slice()函式可以參閱javascript slice()一章節。

2.call()函式可以參閱javascript call()一章節。


相關文章