日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript(循环)

發布時間:2025/6/17 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript(循环) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript的循環有兩種,一種是for 循環,通過初始條件,結束條件和遞增條件來循環執行語句塊:
  var x = 0;
  var i;
  for(i=1; i <=10000; i++){
    x = x +i;

  }

分析一下for循環的控制條件:
      i=1 這是初始條件,將變量i置為1;
      i <=10000 這是判斷條件,滿足時就繼續循環,不滿足就退出循環。
      i ++ 這是每次循環后的條件,由于每次循環后變量i 都會 加1,因此它終將在若干次循環后不滿足判斷條件 i <=10000而退出循環。

for 循環最常用的地方是利用索引來遍歷數組。
    var arr=['Apple','Google','Microsoft'];
    var i, x;
    for(i=0;i<arr.length;i++){
        x=arr[i];
        alert(x)

    }

for循環的3個條件都是可以省略的,如果沒有退出循環的判斷條件,就必須使用break語句退出循環,否則就是死循環:

for.......in
  for 循環的一個變體是for....in 循環,他可以把一個對象的所有屬性一次循環出來。
  var o = {
    name:'Jack,
    age:20,
    city:'Beijing'
  }
  for(var key in o){
    alert(Key) //"name" "age","city"
  }

要過濾掉對象繼承的屬性,用hasOwnProperty()來實現:
  var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
  };
  for (var key in o) {
    if (o.hasOwnProperty(key)) {
        alert(key); // 'name', 'age', 'city'
    }
  }

由于Array也是對象,而它的每個元素的索引被視為對象的屬性,因此,for ... in循環可以直接循環出Array的索引:
  var a = ['A','B','C'];
  for(var i in a){
      alert(i); // '0' '1' '2'
      alert(a[i]); // ‘A’,'B','C'
      注意: for ... in對Array的循環得到的是String而不是Number。
   }

Map和Set
JavaScript的默認對象表示方式{} 可以視為其語音中的Map或Dictionary 的數據結構,即一組鍵值對。
但是JavaScript的對象有個小問題,就是鍵必須是字符串。但實際上Number或者其他數據類型作為鍵也是非常合理的。
Map 是一組鍵對的結構,具有極快的查找速度。
    var name =['Michael','Bob','Tracy'];
    var scores =[95,75,85];

給定一個名字,要查找對應的成績,就先要在names中找到對應的位置,再從scores取出對應的成績,Array越長,耗時越長。
如果用Map實現,只需要一個“名字”-“成績”的對照表,直接根據名字查找成績,無論這個表有多大,查找速度都不會變慢
    var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
    m.get('Michael'); // 95

初始化Map需要一個二維數組,或者直接初始化一個空Map。
    var m = new Map(); // 空Map
    m.set('Adam', 67); // 添加新的key-value
    m.set('Bob', 59);
    m.has('Adam'); // 是否存在key 'Adam': true
    m.get('Adam'); // 67
    m.delete('Adam'); // 刪除key 'Adam'
    m.get('Adam'); // undefined

Set
  Set 和Map 類似,也是一個組合key的集合,但不存儲value.由于key不能重復,所以,在Set中,沒有重復的key。
  要創建一個Set,需要提供一個Array 作為輸入,或直接創建一個空Set:
      var s1= new Set(); // 空Set
      var s2 =new Set([1,2,3]); // 含1,2,3

  重復元素在Set 中自動被過濾。
      var s= new Set([1,2,3,3,'3']);
      s: //Set{1,2,3,'3'}

  

  注意數字3和字符串'3'是不同的元素。
  通過add(key)方法可以添加元素到Set中,可以重復添加,但不會有效果:
    >>>s.add(4)
    >>>s
    ?{1,2,3,4}
    >>>s.add(4)
    >>>s
    {1,2,3,4}

? ? 通過delete(key)方法可以刪除元素:
   ?var s=new Set([1,2,3])
   ?s://Set{1.2.3}
? ? ? ?s.delete(3);
? ? ? ?s://Set{1,2}

轉載于:https://www.cnblogs.com/manxin/p/5519134.html

總結

以上是生活随笔為你收集整理的JavaScript(循环)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。