溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JScript對(duì)象是什么意思

發(fā)布時(shí)間:2021-11-30 18:00:44 來(lái)源:億速云 閱讀:131 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)JScript對(duì)象是什么意思的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

Jscript 對(duì)象是屬性和方法的集合。一個(gè)方法就是一個(gè)函數(shù),是對(duì)象的成員。屬性是一個(gè)值或一組值(以數(shù)組或?qū)ο蟮男问剑菍?duì)象的成員。Jscript 支持四種類型的對(duì)象:內(nèi)部對(duì)象、生成的對(duì)象、宿主給出的對(duì)象(如 Internet 瀏覽器中的 window 和 document)以及 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ù)字的任意名稱。如果屬性的名稱是簡(jiǎn)單的標(biāo)識(shí)符<<參考標(biāo)識(shí)符規(guī)則>>,可以在對(duì)象名稱的后面加句點(diǎn),例如:

  var myObj = new Object();

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

  var myObj = new Object();

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

  // 第二個(gè) expando 名稱是一個(gè)數(shù)字,
  // 所以也必須寫在方括號(hào)里。
  myObj[100] = "100";
  傳統(tǒng)的作法是賦給數(shù)組元素以 0 開始的數(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ǔ)任意種類的數(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 開始計(jì)數(shù),
  // 而不是 1,所以數(shù)組大小為 iMaxNum + 1。
  var MultiplicationTable = new Array(iMaxNum + 1);

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

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

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

感謝各位的閱讀!關(guān)于“JScript對(duì)象是什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI