首先了解一下什麼是數組對象和類數組對象
1.數組對象:使用單獨的變量名來存儲一系列的值。從Array構造函數中繼承了一些用於進行數組操作的方法。
比如
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
2.類數組對象:對於一個普通的對象來說,如果它的所有property名均爲正整數,同時也有相應的length屬性,那麼雖然該對象並不是由Array構造函數所創建的,它依然呈現出數組的行爲,在這種情況下,這些對象被稱爲“類數組對象”。
區別:
1、一個是對象,一個是數組
2、數組的length屬性,當新的元素添加到列表中的時候,其值會自動更新。類數組對象的不會。
3、設置數組的length屬性可以擴展或截斷數組。
4、數組也是Array的實例可以調用Array的方法,比如push,pop等等
所以說arguments對象不是一個 Array 。它類似於Array,但除了length屬性和索引元素之外沒有任何Array屬性。