国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

javascript中for/in循環(huán)以及常見(jiàn)的使用技巧

時(shí)間:2024-06-24 16:28:29 JavaScript 我要投稿
  • 相關(guān)推薦

javascript中for/in循環(huán)以及常見(jiàn)的使用技巧

  JavaScript 支持不同類(lèi)型的循環(huán):

  for - 循環(huán)代碼塊一定的次數(shù)

  for/in - 循環(huán)遍歷對(duì)象的屬性

  while - 當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊

  do/while - 同樣當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊

  1. in運(yùn)算符:要求其左邊的運(yùn)算數(shù)是一個(gè)字符串,或可以被轉(zhuǎn)換為字符串,右邊的運(yùn)算數(shù)是一個(gè)對(duì)象或數(shù)組。如果該運(yùn)算符左邊的值是右邊對(duì)象的一個(gè)屬性名,則返回true。

  例如:

  var point={x:1,y:2}; //對(duì)象直接量   var has_x="x" in point; //返回true   var has_z="z" in point; //返回false   var ts="toString" in point;//返回true,toString為繼承方法

  2. for/in語(yǔ)句:語(yǔ)法,

  for (variable in object)

  statement;

  提供了一種遍歷對(duì)象屬性的方法。

  例:

  for(var prop in my_object) {    document.write("name:"+prop+";value:"+my_object[prop],"
");  }

  javascript的數(shù)組是一種特殊的對(duì)象,因此for/in循環(huán)可以像枚舉對(duì)象屬性一樣枚舉數(shù)組下標(biāo)。

  可以把一個(gè)對(duì)象的所有屬性名復(fù)制到一個(gè)數(shù)組中,

  例:

  var o= {x:1,y:2,z:3};  var a=new Array();  var i=0;  for (a[i++] in o)   ;//空語(yǔ)句,用于初始化數(shù)組

  3. in運(yùn)算符與for/in語(yǔ)句不同,for/in語(yǔ)句in的左邊可以是聲明一個(gè)變量的var語(yǔ)句,數(shù)組的一個(gè)元素或者是對(duì)象的一個(gè)屬性,不能使字符串。

  4. 數(shù)組常用的存取屬性運(yùn)算符是“[]”,而不是“.”。使用“[]”來(lái)命名屬性名師字符串值,是動(dòng)態(tài)的,可以在運(yùn)行時(shí)改變,而不是一個(gè)標(biāo)識(shí)符“.”。

  例:

  var stock_name= get_stock_name_from_user();//從用戶處獲取股票名  var share= get_number_of_shares();//得到股票數(shù)量  portfolio[stock_name]= share;//動(dòng)態(tài)地創(chuàng)建數(shù)組股票,并為每支股票賦值  將該例子與for/in循環(huán)一起使用,當(dāng)用戶輸入了他的投資組合,可以計(jì)算當(dāng)前總值  var value= 0;  for (stock in portfolio) {    value +=get_share_value(stock)*portfolio[stock];  }

  stock存取的是每支股票的名字。

  portfolio[stock]存取的是每支股票的數(shù)量。

  for-in循環(huán)

  功能:遍歷對(duì)象屬性,把屬性名和屬性值都提出來(lái)

  var obj = { "key1":"value1", "key2":"value2", "key3":"value3"};function EnumaKey(){ for(var key in obj ){  alert(key); }}function EnumaVal(){ for(var key in obj ){  alert(obj[key]); }}EnumaKey(obj)//key1 key2 key3EnumaVal(obj)//value1 value2 value3

  數(shù)組也可以這樣遍歷,但不推薦,因?yàn)椴荒鼙WC順序,而且如果在Array的原型上添加了屬性,這個(gè)屬性也會(huì)被遍歷出來(lái)。

  for-in循環(huán)應(yīng)該用在非數(shù)組對(duì)象的遍歷上,使用for-in進(jìn)行循環(huán)也被稱為“枚舉”。

  從技術(shù)上將,你可以使用for-in循環(huán)數(shù)組(因?yàn)镴avaScript中數(shù)組也是對(duì)象),但這是不推薦的。因?yàn)槿绻麛?shù)組對(duì)象已被自定義的功能增強(qiáng),就可能發(fā)生邏輯錯(cuò)誤。另外,在for-in中,屬性列表的順序(序列)是不能保證的。所以最好數(shù)組使用正常的for循環(huán),對(duì)象使用for-in循環(huán)。

【javascript中for/in循環(huán)以及常見(jiàn)的使用技巧】相關(guān)文章:

詳解JavaScript中的splice()使用方法04-01

Javascript中arguments對(duì)象的詳解和使用方法03-31

高效編寫(xiě)JavaScript代碼的技巧03-10

使用ajax操作JavaScript對(duì)象的方法03-08

在Java中執(zhí)行JavaScript代碼04-01

Javascript中typeof 用法歸納04-01

JavaScript中的with關(guān)鍵字03-25

perl- javascript中class的機(jī)制03-25

JavaScript中的三種對(duì)象04-01