記住一句話: 僞數組是一個Object,數組是Array。javascript
JavaScript的內置函數繼承與 Object.prototype
。java
能夠認爲new Array()
和[]
建立出來的數組對象, 都擁有Object.prototype
屬性值。數組
var obj = {}; //擁有Object.prototype的屬性值 var arr = []; //因爲Array.prototype的屬性繼承自Object.prototype, 那麼它就是擁有兩個屬性 // 即Array.prototype和Object.prototype
注意: 對象沒有數組的Array.prototype屬性值函數
數組的基本特徵: 索引(下標)取值spa
var obj = {}; var array = []; obj[0] = "L"; array[0] = "L"; console.log(obj); // {0: "L"} console.log(obj[0]); // L console.log(array[0]); // L console.log(obj.length); // undefined console.log(array.length); // 1
僞數組相似於Python中的字典prototype
var fakeArray = { "0":"胡珺", "1":23, length:2 }; for (var i=0;i<fakeArray.length;i++){ console.log(fakeArray[i]) }
arguments
document.getElementsByTags
)$("div")
)注意: 僞數組是一個對象code
簡單的一個應用對象
var obj = { 0: 'a', 1: 'b', 2: 'c', length: 3 } ;[].push.call(obj, 'd'); console.log([].slice.call(obj)) ;[].forEach.call(obj, function (num, index) { console.log(num) })