Jscript 對象是屬性和方法的集合一個方法就是一個函數是對象的成員屬性是一個值或一組值(以數組或對象的形式)是對象的成員Jscript 支持四種類型的對象內部對象生成的對象宿主給出的對象(如 Internet 浏覽器中的 window 和 document)以及 ActiveX 對象(外部組件)
作為數組的對象
在 Jscript 中對象和數組幾乎是以相同的方式處理的對象和數組均可以被賦予任意值實際上數組只是一種特殊的對象數組和對象的區別在於數組有一個奇妙的 length 屬性而對象沒有這意味著可以給數組的一個元素賦予比其他元素更大的值例如myArray[] = hello然後 length 屬性將自動地被更新為 (新長度)同樣如果修改數組的 length 屬性將刪除不再是數組部分的元素
Jscript 中所有的對象均支持expando屬性或那些可以在運行時動態添加和刪除的屬性這些屬性可以有包含數字的任意名稱如果屬性的名稱是簡單的標識符<<參考標識符規則>>可以在對象名稱的後面加句點例如
var myObj = new Object();
// 添加兩個 expando 屬性name 和 age
myObjname = Fred;
myObjage = ;
如果屬性名稱不是一個簡單的標識符或者在寫腳本的時候不知道可以在方括號中使用任意表達式來索引屬性在 Jscript 中所有 expando 屬性的名稱在被添加到對象之前被轉換為字符串
var myObj = new Object();
// 添加兩個無法寫在 objectproperty 語
// 法中的 expando 屬性
// 第一個屬性包含無效字符(空格)
// 所以必須寫在方括號裡
myObj[not a valid identifier] = This is the property value;
// 第二個 expando 名稱是一個數字
// 所以也必須寫在方括號裡
myObj[] = ;
傳統的作法是賦給數組元素以 開始的數字索引這些數組元素與 length 屬性相交互然而由於所有的數組也是對象也支持 expando 屬性請注意雖然如此expando 屬性並不以任何方式與 length 屬性相交互例如
// 三個元素的數組
var myArray = new Array();
// 添加數據
myArray[] = Hello;
myArray[] = ;
myArray[] = new Date( );
// 顯示數組的長度
windowalert(myArraylength);
// 添加某些 expando 屬性
myArrayexpando = JScript!;
myArray[another Expando] = Windows;
// 仍然顯示 因為兩個 expando 屬性
// 並不影響長度
windowalert(myArraylength);
雖然 Jscript 並不直接支持多維數組但是可以在數組元素中存儲任意種類的數據(包含其他數組)所以通過在另一個數組的元素裡存儲其他數組可以得到多維數組的特性例如下面的代碼為最大為 的數字建立了乘法表
// 若是更大的表請改變本數
var iMaxNum = ;
// 循環計數
var i j;
// 新數組由於數組從 開始計數
// 而不是 所以數組大小為 iMaxNum +
var MultiplicationTable = new Array(iMaxNum + );
// 為每個主要的數做循環(表中的每一行)
for (i = ; i <= iMaxNum; i++)
{
// 生成表中的列
MultiplicationTable = new Array(iMaxNum + );
// 將乘法的結果存在行中
for (j = ; j <= iMaxNum; j++)
{
MultiplicationTable[j] = i * j;
}
}
windowalert(MultiplicationTable[][]); // 顯示
windowalert(MultiplicationTable[][]); // 顯示
windowalert(MultiplicationTable[][]); // 顯示
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19741.html