<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        主站蜘蛛池模板: 亚洲天堂一区在线| 亚洲国产精品久久久久| 亚洲欧洲AV无码专区| 国产福利在线观看免费第一福利| 精品亚洲麻豆1区2区3区| 在线看片免费人成视频播| 亚洲国产精品久久久天堂| 久久久久国产精品免费免费不卡| 久久久亚洲精品无码| 午夜影院免费观看| 亚洲经典在线中文字幕| 久久久久久久久久国产精品免费| 久久国产亚洲电影天堂| 免费精品无码AV片在线观看| 亚洲综合男人的天堂色婷婷| 999久久久免费精品国产| 亚洲综合偷自成人网第页色| 在线免费观看中文字幕| 黄网站色视频免费看无下截| 国产亚洲精品拍拍拍拍拍| 国内精品免费视频精选在线观看| 亚洲情a成黄在线观看动漫尤物| 日本高清在线免费| 亚洲欧美综合精品成人导航| 爱情岛论坛网亚洲品质自拍| 免费成人在线电影| 亚洲国产精品张柏芝在线观看| 卡一卡二卡三在线入口免费| 美女视频黄频a免费大全视频| 国产v亚洲v天堂无码网站| 2015日韩永久免费视频播放| 亚洲成熟丰满熟妇高潮XXXXX| 国产精品亚洲二区在线观看| 99re热精品视频国产免费| 四虎亚洲精品高清在线观看| 亚洲熟女乱综合一区二区| 18禁成人网站免费观看| 羞羞漫画页面免费入口欢迎你| 国产亚洲A∨片在线观看| 18禁成年无码免费网站无遮挡| 一区二区免费国产在线观看|