qq飞车手游2019年一月新车:[JavaScript基礎教程]JavaScript中的對象

qq飞车手游怎么拉黑 www.kwigj.icu JavaScript對象是屬性和方法的集合。一個方法就是一個函數,是對象的成員。屬性是一個值或一組值(以數組或對象的形式),是對象的成員。Jscript 支持四種類型的對象:、、宿主給出的對象(如 Internet 瀏覽器中的 windowdocument)以及 ActiveX 對象(外部組件)。

作為數組的對象

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

Jscript 中所有的對象均支持“expando”屬性或那些可以在運行時動態添加和刪除的屬性。這些屬性可以有包含數字的任意名稱。如果屬性的名稱是簡單的標識符<<參考標識符規則>>,可以在對象名稱的后面加句點,例如:

  1. var myObj = new Object();  // 添加兩個 expando 屬性,'name' 和 'age' 
  2. myObj.name = "Fred"
  3. myObj.age = 42; 

如果屬性名稱不是一個簡單的標識符,或者在寫腳本的時候不知道,可以在方括號中使用任意表達式來索引屬性。在 JavaScript中所有 expando 屬性的名稱在被添加到對象之前被轉換為字符串。

  1. var myObj = new Object();  // 添加兩個無法寫在 object.property 語 
  2. // 法中的 expando 屬性。 
  3. // 第一個屬性包含無效字符(空格), 
  4. // 所以必須寫在方括號里。 
  5. myObj["not a valid identifier"] = "This is the property value"
  6.  
  7. // 第二個 expando 名稱是一個數字, 
  8. // 所以也必須寫在方括號里。 
  9. myObj[100] = "100"

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

  1. // 三個元素的數組 
  2. var myArray = new Array(3); 
  3.  
  4. // 添加數據 
  5. myArray[0] = "Hello"
  6. myArray[1] = 42; 
  7. myArray[2] = new Date(2000, 1, 1); 
  8.  
  9. // 顯示數組的長度 3 
  10. window.alert(myArray.length); 
  11.  
  12. // 添加某些 expando 屬性 
  13. myArray.expando = "JavaScript!"
  14. myArray["another Expando"] = "Windows"
  15.  
  16. // 仍然顯示 3,因為兩個 expando 屬性 
  17. // 并不影響長度。 
  18. window.alert(myArray.length); 

雖然 JavaScript并不直接支持多維數組,但是可以在數組元素中存儲任意種類的數據 — 包含其他數組。所以通過在另一個數組的元素里存儲其他數組可以得到多維數組的特性。例如,下面的代碼為最大為 5 的數字建立了乘法表:

  1. // 若是更大的表請改變本數 
  2. var iMaxNum = 5; 
  3. // 循環計數 
  4. var i, j; 
  5.  
  6. // 新數組。由于數組從 0 開始計數, 
  7. // 而不是 1,所以數組大小為 iMaxNum + 1。 
  8. var MultiplicationTable = new Array(iMaxNum + 1); 
  9.  
  10. // 為每個主要的數做循環(表中的每一行) 
  11. for (i = 1; i <= iMaxNum; i++) 
  12.     // 生成表中的列 
  13.     MultiplicationTable[i] = new Array(iMaxNum + 1); 
  14.  
  15.     // 將乘法的結果存在行中 
  16.     for (j = 1; j <= iMaxNum; j++) 
  17.     { 
  18.         MultiplicationTable[i][j] = i * j; 
  19.     } 
  20.  
  21. window.alert(MultiplicationTable[3][4]); // 顯示 12 
  22. window.alert(MultiplicationTable[5][2]); // 顯示 10 
  23. window.alert(MultiplicationTable[1][4]); // 顯示 4 

轉載請注明:qq飞车手游怎么拉黑 ? [JavaScript基礎教程]JavaScript中的對象

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)