<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • javascript中for/in循環以及常見的使用技巧

    時間:2024-06-24 16:28:29 JavaScript 我要投稿
    • 相關推薦

    javascript中for/in循環以及常見的使用技巧

      JavaScript 支持不同類型的循環:

      for - 循環代碼塊一定的次數

      for/in - 循環遍歷對象的屬性

      while - 當指定的條件為 true 時循環指定的代碼塊

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

      1. in運算符:要求其左邊的運算數是一個字符串,或可以被轉換為字符串,右邊的運算數是一個對象或數組。如果該運算符左邊的值是右邊對象的一個屬性名,則返回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],"
    ");  }

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

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

      例:

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

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

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

      例:

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

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

      portfolio[stock]存取的是每支股票的數量。

      for-in循環

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

      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

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

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

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

    【javascript中for/in循環以及常見的使用技巧】相關文章:

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

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

    高效編寫JavaScript代碼的技巧03-10

    使用ajax操作JavaScript對象的方法03-08

    在Java中執行JavaScript代碼04-01

    Javascript中typeof 用法歸納04-01

    JavaScript中的with關鍵字03-25

    perl- javascript中class的機制03-25

    JavaScript中的三種對象04-01

    主站蜘蛛池模板: 亚洲国产一成久久精品国产成人综合| 一区二区日韩国产精品| 蜜臀AV无码国产精品色午夜麻豆| 国产精品视频色拍拍| 狠狠精品干练久久久无码中文字幕| 国精品无码一区二区三区在线| 久久九九久精品国产| 98精品国产自产在线XXXX| 国内精品久久久久久99蜜桃| 亚洲av无码成人精品国产| 99久久精品这里只有精品| 99re6在线视频精品免费| 无码日韩精品一区二区免费暖暖 | 亚洲av永久无码精品古装片| 国产亚洲精品不卡在线| 欧美精品亚洲精品日韩专区va| 精品综合久久久久久888蜜芽| 亚洲精品欧美二区三区中文字幕| 久久91精品综合国产首页| 99在线精品免费视频| 青青草国产精品久久| 国产成人精品免费视频网页大全| 亚洲AV成人精品网站在线播放| 无码人妻精品一区二区蜜桃百度 | 欧美日激情日韩精品| 国产成人精品视频播放| 国产精品色内内在线播放| 久久久久国产精品熟女影院| 亚洲AV日韩精品久久久久| 亚洲精品国产日韩无码AV永久免费网| 久久精品国产亚洲精品| 精品亚洲一区二区三区在线播放| 国产精品熟女福利久久AV| 国产精品99久久久久久宅男| 成人免费精品网站在线观看影片| 91在线手机精品超级观看| 6080亚洲精品午夜福利| 午夜精品视频在线| 91精品一区二区综合在线| 国产精品成人免费观看| 国产午夜精品理论片免费观看|