• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧

    來源:懂視網 責編:小采 時間:2020-11-27 21:05:24
    文檔

    Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧

    Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧:Javascript 的數組Array,既是一個數組,也是一個字典(Dictionary)。先舉例看看數組的用法。 代碼如下: var a = new Array(); a[0] = Acer; a[1] = Dell; for (var i = 0; i alert(a[i]); } 下面再看一下字典的用法。
    推薦度:
    導讀Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧:Javascript 的數組Array,既是一個數組,也是一個字典(Dictionary)。先舉例看看數組的用法。 代碼如下: var a = new Array(); a[0] = Acer; a[1] = Dell; for (var i = 0; i alert(a[i]); } 下面再看一下字典的用法。

    Javascript 的數組Array,既是一個數組,也是一個字典(Dictionary)。先舉例看看數組的用法。
    代碼如下:
    var a = new Array();
    a[0] = "Acer";
    a[1] = "Dell";
    for (var i = 0; i < a.length; i++) {
    alert(a[i]);
    }

    下面再看一下字典的用法。
    代碼如下:
    var computer_price = new Array();
    computer_price["Acer"] = 500;
    computer_price["Dell"] = 600;
    alert(computer_price["Acer"]);

    我們甚至可以同樣象上面那樣遍歷這個數組(字典)
    代碼如下:
    for (var i in computer_price) {
    alert(i + ": " + computer_price[i]);
    }

    這里的 i 即為字典的每個鍵值。輸出結果為:
    Acer: 500
    Dell: 600

    另外 computer_price 是一個字典對象,而它的每個鍵值就是一個屬性。也就是說 Acer 是 computer_price 的一個屬性。我們可以這樣使用它:
    computer_price.Acer

    再來看一下字典和數組的簡化聲明方式。
    var array = [1, 2, 3]; // 數組
    var array2 = { "Acer": 500, "Dell": 600 }; // 字典
    alert(array2.Acer); // 500
    這樣對字典的聲明是和前面的一樣的。在我們的例子中,Acer又是鍵值,也可是作為字典對象的屬性了。

    下面再來看看如何對一個對象的屬性進行遍歷。我們可以用 for in 來遍歷對象的屬性。
    代碼如下:
    function Computer(brand, price) {
    this.brand = brand;
    this.price = price;
    }
    var mycomputer = new Computer("Acer", 500);
    for (var prop in mycomputer) {
    alert("computer[" + prop + "]=" + mycomputer[prop]);
    }

    上面的代碼中,Computer有兩個屬性,brand 和 price.所以輸出結果為:
    computer[brand]=Acer
    computer[price]=500
    上面的這種用法可以用來查看一個對象都有哪些屬性。當你已經知道Computer對象有一個brand屬性時,就可以用
    mycomputer.brand
    或 mycomputer[brand]
    來獲取屬性值了。
    總結:Javascript中的數組也可以用來做字典。字典的鍵值也是字典對象的屬性。對一個對象的屬性進行遍歷時,可以用for in。

    數組遍歷與屬性
    雖然在 JavaScript 中數組是是對象,但是沒有好的理由去使用 for in 循環 遍歷數組。
    相反,有一些好的理由不去使用 for in 遍歷數組。
    注意: JavaScript 中數組不是 關聯數組。
    JavaScript 中只有對象 來管理鍵值的對應關系。但是關聯數組是保持順序的,而對象不是。
    由于 for in 循環會枚舉原型鏈上的所有屬性,唯一過濾這些屬性的方式是使用hasOwnProperty 函數,
    因此會比普通的 for 循環慢上好多倍。
    遍歷
    為了達到遍歷數組的最佳性能,推薦使用經典的 for 循環。
    代碼如下:
    var list = [1, 2, 3, 4, 5, ...... 100000000];
    for(var i = 0, l = list.length; i < l; i++) {
    console.log(list[i]);
    }

    上面代碼有一個處理,就是通過 l = list.length 來緩存數組的長度。
    雖然 length 是數組的一個屬性,但是在每次循環中訪問它還是有性能開銷。
    可能最新的 JavaScript 引擎在這點上做了優化,但是我們沒法保證自己的代碼是否運行在這些最近的引擎之上。
    實際上,不使用緩存數組長度的方式比緩存版本要慢很多。
    length 屬性
    length 屬性的 getter 方式會簡單的返回數組的長度,而 setter 方式會截斷數組。
    代碼如下:
    var foo = [1, 2, 3, 4, 5, 6];
    foo.length = 3;
    foo; // [1, 2, 3]
    foo.length = 6;
    foo; // [1, 2, 3]

    譯者注:
    在 Firebug 中查看此時 foo 的值是: [1, 2, 3, undefined, undefined, undefined]
    但是這個結果并不準確,如果你在 Chrome 的控制臺查看 foo 的結果,你會發現是這樣的: [1, 2, 3]
    因為在 JavaScript 中 undefined 是一個變量,注意是變量不是關鍵字,因此上面兩個結果的意義是完全不相同的。
    // 譯者注:為了驗證,我們來執行下面代碼,看序號 5 是否存在于 foo 中。
    5 in foo; // 不管在 Firebug 或者 Chrome 都返回 false
    foo[5] = undefined;
    5 in foo; // 不管在 Firebug 或者 Chrome 都返回 true
    為 length 設置一個更小的值會截斷數組,但是增大 length 屬性值不會對數組產生影響。
    結論
    為了更好的性能,推薦使用普通的 for 循環并緩存數組的 length 屬性。
    使用 for in 遍歷數組被認為是不好的代碼習慣并傾向于產生錯誤和導致性能問題。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧

    Javascript的數組與字典用法與遍歷對象的屬性技巧_javascript技巧:Javascript 的數組Array,既是一個數組,也是一個字典(Dictionary)。先舉例看看數組的用法。 代碼如下: var a = new Array(); a[0] = Acer; a[1] = Dell; for (var i = 0; i alert(a[i]); } 下面再看一下字典的用法。
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 麻豆精品成人免费国产片| 国产精品v欧美精品v日韩精品| 久久精品国产亚洲AV无码娇色 | 麻豆精品久久精品色综合| 亚洲?V乱码久久精品蜜桃| 国产精品自产拍高潮在线观看| 国产91精品在线观看| 国产在线精品免费aaa片| 亚洲精品天堂成人片?V在线播放| 国产精品亚洲mnbav网站| 久久精品国产一区二区三区日韩| 久久影院综合精品| 亚洲精品欧美精品日韩精品 | 久久精品人成免费| 亚洲国产成人一区二区精品区| 欧美精品播放| 老司机精品影院91| 另类国产精品一区二区| 国产在线精品福利大全| 国产成人AV无码精品| 99热都是精品久久久久久| 麻豆精品不卡国产免费看| 欧美日韩精品一区二区在线播放| 国产大片91精品免费观看不卡| 2022国产精品不卡a| 91精品国产9l久久久久| 2018国产精华国产精品| 99re这里只有精品热久久| 成人午夜精品网站在线观看| 91精品美女在线| 精品福利资源在线| 老司机91精品网站在线观看| 亚洲一区精品中文字幕| 国产精品 综合 第五页| 国精品无码A区一区二区| 精品久久人人爽天天玩人人妻| 久久国产综合精品五月天| 四虎国产精品永久在线看| 亚洲精品国产自在久久| 欧洲精品色在线观看| jizzjizz国产精品久久|