JS數組
一.簡述
1.數組是內置對象的一種
JS中有三大類對象,內置對象、宿主對象以及自定義對象。數組就是內置對象的一種——Array。
2.索引(下標)從0開始
像C一樣,數組的下標從0開始
3.數組中可以放任意類型的數據
類似於java中的Object[]數組
二.數組的創建方式
1.通過構造函數創建數組
a.無參調用
//無參調用
var a = new Array();
//添加元素
a[0] = 3;
console.log(a);
console.log("length : " + a.length);
b.傳遞一個參數(傳遞的參數爲數組的長度)
var a = new Array(5);
//添加元素
a[0] = 3;
console.log(a);
console.log("length : " + a.length);
c.傳遞多個參數(傳遞的參數均爲數組的元素)
var a = new Array(5, 3);
console.log(a);
console.log("length : " + a.length);
2.通過字面量創建數組
var a = [1, 2, 3, 4, 5];
console.log(a);
console.log("length : " + a.length);
三.一些特性
1.toString()方法依賴length屬性
var a = [1, 2, 3, 4, 5];
a.length = 3;
console.log(a);
console.log("length : " + a.length);
這個特性有點像數據結構中學的順序表(長度需要用一個變量存儲)。換句話說,數組的長度,僅由length屬性決定
2.下標“越界”不會報錯
var a = [1, 2, 3, 4, 5];
a.length = 3;
console.log(a[4]);
console.log("length : " + a.length);
根據第一個特性,現在a的長度爲3,對於索引4來說是“越界”的,但是沒有報錯,而是返回了一個undefined。
對於返回undefined方法,還有另一種情況,那就是該索引沒有值。
var a = new Array(5);
console.log(a[4]);
console.log("length : " + a.length);
四.技巧
爲了避免出現空值,採用如下的方式給數組連續的添加元素
var a = [];
a[a.length] = value1;
a[a.length] = value2;