1.認識數(shù)組
數(shù)組就是某類數(shù)據(jù)的集合,數(shù)據(jù)類型可以是整型、字符串、甚至是對象 Javascript不支持多維數(shù)組,但是因為數(shù)組里面可以包含對象(數(shù)組也是一個對象),所以數(shù)組可以通過相互嵌套實現(xiàn)類似多維數(shù)組的功能
1.1 定義數(shù)組
聲明有10個元素的數(shù)組
var a = new Array(10);
此時為a已經(jīng)開辟了內(nèi)存空間,包含10個元素,用數(shù)組名稱加 [下標] 來調(diào)用,例如 a[2] 但此時元素并未初始化,調(diào)用將返回 undefined
以下代碼定義了個可變數(shù)組,并進行賦值
var a = new Array(); a[0] = 10; a[1] = "aaa"; a[2] = 12.6;
上面提過了,數(shù)組里面可以放對象,例如下面代碼
var a = new Array(); a[0] = true; a[1] = document.getElementById("text"); a[2] = {x:11, y:22}; a[3] = new Array();
數(shù)組可以實例化的時候直接賦值,例如
var a = new Array(1, 2, 3, 4, 5); var b = [1, 2, 3, 4, 5];
a 和 b 都是數(shù)組,只不過b用了隱性聲明,創(chuàng)建了另一個實例,此時如果用alert(a==b)將彈出false
1.2 多維數(shù)組
其實Javascript是不支持多維數(shù)組的,在asp里面可以用 dim a(10,3)來定義多維數(shù)組,在Javascript里面,如果用 var a = new Array(10,3) 將報錯 但是之前說過,數(shù)組里面可以包含對象,所以可以把數(shù)組里面的某個元素再聲明為數(shù)組,例如
var a = new Array(); a[0] = new Array(); a[0][0] = 1; alert(a[0][0]); //彈出 1
聲明的時候賦值
var a = new Array([1,2,3], [4,5,6], [7,8,9]); var b = [[1,2,3], [4,5,6], [7,8,9]];
效果一樣,a采用常規(guī)實例化,b是隱性聲明,結(jié)果都是生成一個多維數(shù)組
1.3 Array literals
這個還真不知中文怎么叫,文字數(shù)組? 說到數(shù)組,不得不說到Array Literals,數(shù)組其實是特殊的對象,對象有特有屬性和方法,通過 對象名.屬性 、對象.方法() 來取值和調(diào)用,而數(shù)組是通過下標來取值,Array Literals跟數(shù)組有很多相似,都是某數(shù)據(jù)類型的集合,但是Array Literals從根本來說,是個對象,聲明和調(diào)用,跟數(shù)組是有區(qū)別
var aa = new Object(); aa.x = "cat"; aa.y = "sunny"; alert(aa.x); //彈出cat
創(chuàng)建一個簡單的對象,一般調(diào)用是通過aa.x,而如果當成Array literals的話,用alert(aa[“x”])一樣會彈出cat
var a = {x:"cat", y:"sunny"}; alert(a["y"]); //彈出sunny
這是另一種創(chuàng)建對象的方法,結(jié)果是一樣的
出處:藍色理想
責任編輯:bluehearts
上一頁 下一頁 認識Javascript數(shù)組 [2]
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|