最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中for/in循環(huán)及使用技巧

 更新時間:2015年09月01日 18:10:55   投稿:mrr  
如果您希望一遍又一遍地運行相同的代碼,并且每次的值都不同,那么使用循環(huán)是很方便的,本篇文章給大家介紹javascript中for/in循環(huán)及使用技巧 ,需要的朋友可以參考下

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

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

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

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

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

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

例如:

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

   2. for/in語句:語法,

for (variable in object)
                           statement;

      提供了一種遍歷對象屬性的方法。

例:

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

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

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

例:

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

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

    4. 數(shù)組常用的存取屬性運算符是“[]”,而不是“.”。使用“[]”來命名屬性名師字符串值,是動態(tài)的,可以在運行時改變,而不是一個標識符“.”。

例:

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

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

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

for-in循環(huán)

功能:遍歷對象屬性,把屬性名和屬性值都提出來

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 key3
EnumaVal(obj)
//value1 value2 value3

數(shù)組也可以這樣遍歷,但不推薦,因為不能保證順序,而且如果在Array的原型上添加了屬性,這個屬性也會被遍歷出來。

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

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

相關文章

最新評論

象州县| 独山县| 上高县| 扎囊县| 旬阳县| 西丰县| 东明县| 瓦房店市| 类乌齐县| 嘉善县| 瓦房店市| 钟祥市| 那曲县| 甘南县| 界首市| 甘谷县| 五莲县| 甘谷县| 顺义区| 商水县| 长泰县| 河池市| 宁国市| 确山县| 安义县| 汾西县| 依安县| 石门县| 资中县| 吉木乃县| 信宜市| 祁阳县| 应用必备| 行唐县| 十堰市| 石门县| 喀喇沁旗| 威宁| 双鸭山市| 大安市| 宁南县|