JavaScript for#8230;in 循環含代碼

    JavaScript for…in 循環

    for...infor 循環一樣,也可以用于遍歷數組和對象,但它們的用法和語法上是有所不同的。愛掏網 - it200.com

    我們可以使用 for...in 循環來遍歷對象的屬性。愛掏網 - it200.com

    下面是一個簡單的例子:

    var obj = { a: 1, b: 2, c: 3 };
    
    for (var prop in obj) {
        console.log(`obj.{prop} ={obj[prop]}`);
    }
    // 輸出:obj.a = 1
    //       obj.b = 2
    //       obj.c = 3
    

    在這個例子中,我們定義了一個名為obj的對象,并使用for...in循環來遍歷它的屬性。愛掏網 - it200.com我們定義了一個變量prop來代表對象的屬性名稱,并使用這個變量來輸出屬性名及其對應的值。愛掏網 - it200.com

    請注意,for...in 循環不僅僅可以遍歷對象的自有屬性,還可以遍歷從原型鏈繼承而來的屬性。愛掏網 - it200.com因此,我們可以在循環體內使用 hasOwnProperty 來檢測一個屬性是否是對象的自有屬性。愛掏網 - it200.com

    下面是一個帶有原型的例子:

    var Person = function() {
        this.name = 'John Doe';
        this.age = 25;
    };
    
    Person.prototype.gender = 'male';
    
    var john = new Person();
    
    for (var prop in john) {
        if (john.hasOwnProperty(prop)) {
            console.log(`john.{prop} ={john[prop]}`);
        }
    }
    // 輸出:john.name = John Doe
    //       john.age = 25
    

    在這個例子中,我們定義了一個名為Person的構造函數,并在它的原型上定義了一個名為gender的屬性。愛掏網 - it200.com

    我們創建了一個名為john的對象,它繼承了Person的屬性和原型,包括它的gender屬性。愛掏網 - it200.com

    我們使用for...in循環來遍歷john對象的屬性,并通過hasOwnProperty方法來檢測這些屬性是否是對象的自有屬性。愛掏網 - it200.com

    請注意,for...in循環中的變量名并沒有什么特殊的含義。愛掏網 - it200.com我們可以將它們命名為任何我們喜歡的變量名。愛掏網 - it200.com

    遍歷數組

    我們也可以使用for...in循環來遍歷數組。愛掏網 - it200.com但是需要注意的是,for...in循環會遍歷數組中所有可枚舉的屬性,包括數組的原型鏈上的屬性,這可能會導致一些意外的結果。愛掏網 - it200.com

    下面是一個例子:

    var arr = ['a', 'b', 'c'];
    
    Array.prototype.foo = 'd';
    
    for (var prop in arr) {
        console.log(`arr.{prop} ={arr[prop]}`);
    }
    // 輸出:arr.0 = a
    //       arr.1 = b
    //       arr.2 = c
    //       arr.foo = d
    

    在這個例子中,我們定義了一個名為arr的數組,并在Array的原型上定義了一個名為foo的屬性。愛掏網 - it200.com然后我們使用for...in循環來遍歷數組arr中的屬性,并輸出它們的值。愛掏網 - it200.com

    請注意,for...in循環遍歷的是數組的索引,也就是它的數字屬性。愛掏網 - it200.com如果數組中有非數字的屬性,例如 foo 屬性,它也會被遍歷到。愛掏網 - it200.com

    因此,雖然我們可以使用 for...in循環來遍歷數組,但我們仍然需要小心使用它。愛掏網 - it200.com

    結論

    for...in循環是一個用于遍歷對象屬性的方便方法,但不適合用于遍歷數組。愛掏網 - it200.com同時還要注意它會遍歷對象原型鏈上的屬性,需要正確地使用 hasOwnProperty 方法來判斷屬性是否是對象的自有屬性。愛掏網 - it200.com

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 国产日韩精品视频一区二区三区 | 精品视频一区二区三区免费| 一区二区三区观看免费中文视频在线播放| 午夜性色一区二区三区不卡视频 | 麻豆高清免费国产一区| 久久亚洲一区二区| 精品一区二区91| 亚洲欧洲∨国产一区二区三区| 久久久久人妻精品一区| 亚洲国产一区二区三区| 亚洲色无码专区一区| 亚洲无人区一区二区三区| 亚洲av色香蕉一区二区三区蜜桃| 无码少妇一区二区| 精品国产一区二区三区色欲 | 蜜桃视频一区二区三区在线观看| 久久精品亚洲一区二区三区浴池| 国产伦精品一区二区三区无广告| 日韩精品一区二区三区中文字幕 | 无码8090精品久久一区| 精品人妻少妇一区二区三区在线| 无码福利一区二区三区| 日本一区二区免费看| 国产美女露脸口爆吞精一区二区 | 3d动漫精品啪啪一区二区中| 亚洲色大成网站www永久一区| 国产成人高清精品一区二区三区 | 夜夜嗨AV一区二区三区| 亚洲AⅤ无码一区二区三区在线 | 国产精品va一区二区三区| 亚洲一区二区三区写真| 色窝窝免费一区二区三区| 亚洲一区二区三区在线观看网站| 无码人妻精品一区二区三区久久久| 日韩一区二区在线观看视频 | 无码人妻一区二区三区av| 国产一区二区免费在线| 精品福利一区二区三| 3D动漫精品啪啪一区二区下载 | 国产美女av在线一区| 日本亚洲成高清一区二区三区|