国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript實例教程(18) 數組

2019-11-18 15:53:29
字體:
來源:轉載
供稿:網友
使用javascript數組

Javascript 1.0中構造器只存在Date對象和用戶定義的對象。你可能期望有個數組構造器,但是一直沒能實現,直到JavaScript 1.1的出現,你的期望成為了現實。我們可以如下來定義用戶對象:

function blankArray(n) {

for (var i=0; i < n; i++)

this[i] = null;

this.length = n;

}

blankArray函數創建了一個數組,這個數組中有n個空白項。下面再給出使用這個構造器的例子:

var myArray = new blankArray(3);

myArray[0] = "hello";

myArray[1] = "world";

myArray[2] = "!";

假如你對其它編程語言(如C語言)有些經驗的話,你就會直到數組的索引是從0開始的而不是從1開始的。因此在上面的例子中數組索引是從0到2的,故這個數組的長度為3。

以下的代碼是更為高級的數組構造器。它使用了'arguments'屬性來對數組賦值而不只是創建一個空數組元素,這個屬性對于所有的函數都是存在的。雖然沒有給定任何的參數,傳遞的數值仍然可以通過arguments數組來進行訪問。具體代碼如下:

function makeArray() {

for (var i=0; i < arguments.length; i++)

this[i] = arguments[i];

this.length = arguments.length;

}

而構造器的調用可以是這樣的:

var myArray = new makeArray("hello", "world", "!");

在JavaScript 1.1中,創建數組構造器結合了blankArray和makeArray的特定。如下的一個調用:

var myArray = new Array(3); // requires JS 1.1

這個調用創建了一個空白數組(其長度為3)作為上面示范的blankArray構造器。而在Netscape中稱為'dense array',因為每一個元素都有一個數值,可以如下來創建:

var myArray = new Array(value1, value2, value3); // JS 1.1
既然你對構造器和對象屬性比較熟悉了,我們可以進一步舉些例子。假如你是使用JavaScript 1.1或者更高版本,你可以使用數組構造器。否則你使用makeArray對象更為合適些。 var workPeople = new Array(

new Person("Thomas", 25, "green"),

new Person("Richard", 35, "blue"),

new Person("Harold", 30, "chartreuse")

);

workPeople是一個擁有三個Person對象的數組。每一個Person都有name(名字)、age(年齡)、colour(膚色)以及birthYear(出生年份)屬性。

以下再給出一個實例來使用我們上面所學到的。這里還要提醒一下,Person代碼塊和workPeople數組必須包括到相同的SCRIPT標簽中或者網頁的其它地方。

<SCRIPT language="JavaScript">

<!-- Hide from older browsers


function whoIsOldest(pArray) {

var pOldest = pArray[0]; // 數組中的第一個Person

for (var i=1; i < pArray.length; i++) // 對每個附加的Person循環

if (pArray[i].isOlder(pOldest)) // 假如它們比較老

pOldest = pArray[i]; // 將它們設置為最老

return pOldest;

}

var senior = whoIsOldest(workPeople);

document.write("The oldest person is " + senior.name + "<br>" + senior);


// Stop hiding -->

</SCRIPT>

上面例子的輸出為:

The oldest person is Richard

Richard was born in 1963

and is 35 years old.

從whoIsOldest函數返回的數值是一個Person對象,它帶有對象所有的屬性和方法。這是為什么可以引用名字屬性和變量PRintPerson()方法(稱為senior)的原因。

WhoIsOldest函數的另外一些特性為:

a.處理任何的People的數組。

b.處理任何對象類型的數組,這個數組有一個isOlder()方法。

假如不是使用JavaScript,換成其它類型的編程語言,你就不得不指定函數輸入是一個People的數組,而在JavaScript就不用了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通山县| 天全县| 巨野县| 涿州市| 丹东市| 岑巩县| 牙克石市| 札达县| 新龙县| 汤阴县| 新绛县| 玉田县| 罗江县| 灵丘县| 聊城市| 永安市| 罗源县| 四川省| 宁远县| 韶关市| 景东| 花莲县| 民权县| 西林县| 凭祥市| 廊坊市| 盖州市| 平泉县| 崇仁县| 石泉县| 融水| 黄骅市| 乌鲁木齐市| 青铜峡市| 龙海市| 大安市| 宣武区| 安岳县| 吐鲁番市| 郯城县| 英德市|