爲什麼說arguments是類數組對象

首先了解一下什麼是數組對象和類數組對象
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屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章