欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JScript  

JScript 對(duì)象

Jscript 對(duì)象是屬性和方法的集合。一個(gè)方法就是一個(gè)函數(shù),是對(duì)象的成員。屬性是一個(gè)值或一組值(以數(shù)組或?qū)ο蟮男问剑,是?duì)象的成員。Jscript 支持四種類(lèi)型的對(duì)象:內(nèi)部對(duì)象生成的對(duì)象、宿主給出的對(duì)象(如 Internet 瀏覽器中的 windowdocument)以及 ActiveX 對(duì)象(外部組件)。

作為數(shù)組的對(duì)象

在 Jscript 中,對(duì)象和數(shù)組幾乎是以相同的方式處理的。對(duì)象和數(shù)組均可以被賦予任意值,實(shí)際上數(shù)組只是一種特殊的對(duì)象。數(shù)組和對(duì)象的區(qū)別在于數(shù)組有一個(gè)“奇妙的” length 屬性,而對(duì)象沒(méi)有。這意味著可以給數(shù)組的一個(gè)元素賦予比其他元素更大的值。例如,myArray[100] = "hello",然后 length 屬性將自動(dòng)地被更新為 101(新長(zhǎng)度)。同樣,如果修改數(shù)組的 length 屬性,將刪除不再是數(shù)組部分的元素。

Jscript 中所有的對(duì)象均支持“expando”屬性或那些可以在運(yùn)行時(shí)動(dòng)態(tài)添加和刪除的屬性。這些屬性可以有包含數(shù)字的任意名稱(chēng)。如果屬性的名稱(chēng)是簡(jiǎn)單的標(biāo)識(shí)符<<參考標(biāo)識(shí)符規(guī)則>>,可以在對(duì)象名稱(chēng)的后面加句點(diǎn),例如:

var myObj = new Object();

// 添加兩個(gè) expando 屬性,'name' 和 'age'
myObj.name = "Fred";
myObj.age = 42;

如果屬性名稱(chēng)不是一個(gè)簡(jiǎn)單的標(biāo)識(shí)符,或者在寫(xiě)腳本的時(shí)候不知道,可以在方括號(hào)中使用任意表達(dá)式來(lái)索引屬性。在 Jscript 中所有 expando 屬性的名稱(chēng)在被添加到對(duì)象之前被轉(zhuǎn)換為字符串。

var myObj = new Object();

// 添加兩個(gè)無(wú)法寫(xiě)在 object.property 語(yǔ)
// 法中的 expando 屬性。
// 第一個(gè)屬性包含無(wú)效字符(空格),
// 所以必須寫(xiě)在方括號(hào)里。
myObj["not a valid identifier"] = "This is the property value";

// 第二個(gè) expando 名稱(chēng)是一個(gè)數(shù)字,
// 所以也必須寫(xiě)在方括號(hào)里。
myObj[100] = "100";

傳統(tǒng)的作法是賦給數(shù)組元素以 0 開(kāi)始的數(shù)字索引。這些數(shù)組元素與 length 屬性相交互。然而,由于所有的數(shù)組也是對(duì)象,也支持 expando 屬性。請(qǐng)注意,雖然如此,expando 屬性并不以任何方式與 length 屬性相交互。例如:

// 三個(gè)元素的數(shù)組
var myArray = new Array(3);

// 添加數(shù)據(jù)
myArray[0] = "Hello";
myArray[1] = 42;
myArray[2] = new Date(2000, 1, 1);

// 顯示數(shù)組的長(zhǎng)度 3
window.alert(myArray.length);

// 添加某些 expando 屬性
myArray.expando = "JScript!";
myArray["another Expando"] = "Windows";

// 仍然顯示 3,因?yàn)閮蓚(gè) expando 屬性
// 并不影響長(zhǎng)度。
window.alert(myArray.length);

雖然 Jscript 并不直接支持多維數(shù)組,但是可以在數(shù)組元素中存儲(chǔ)任意種類(lèi)的數(shù)據(jù)(包含其他數(shù)組)。所以通過(guò)在另一個(gè)數(shù)組的元素里存儲(chǔ)其他數(shù)組可以得到多維數(shù)組的特性。例如,下面的代碼為最大為 5 的數(shù)字建立了乘法表:

// 若是更大的表請(qǐng)改變本數(shù)
var iMaxNum = 5;
// 循環(huán)計(jì)數(shù)
var i, j;

// 新數(shù)組。由于數(shù)組從 0 開(kāi)始計(jì)數(shù),
// 而不是 1,所以數(shù)組大小為 iMaxNum + 1。
var MultiplicationTable = new Array(iMaxNum + 1);

// 為每個(gè)主要的數(shù)做循環(huán)(表中的每一行)
for (i = 1; i <= iMaxNum; i++)
{
    // 生成表中的列
    MultiplicationTable[i] = new Array(iMaxNum + 1);

    // 將乘法的結(jié)果存在行中
    for (j = 1; j <= iMaxNum; j++)
    {
        MultiplicationTable[i][j] = i * j;
    }
}

window.alert(MultiplicationTable[3][4]); // 顯示 12
window.alert(MultiplicationTable[5][2]); // 顯示 10
window.alert(MultiplicationTable[1][4]); // 顯示 4