【JavaScript】JS對象-屬性的遍歷,刪除對象屬性


JS對象的定義有兩種方法,對象的屬性使用鍵值對賦值(let和var都是用作定義變量,有一定的區別,越來越多的公司開始禁止使用var,因為var的是函數作用域,會出現很多意想不到的bug):

let 對象名 = new Object();
 let 對象名 = {}  // 推薦使用

示例:

    let teacher = {
        name:'蒼老師',
        age:18,
        height:155,
        weight:90,
        print:function(){
            console.log(this.name);
            
        },
        boyFriends:['張三','李四'],
        husband:{
            name : '張三',
            age : 60,
        },
    };

上面的屬性中沒有sanwei,這個屬性。如果想要添加一個屬性叫sanwei該怎么辦吶。

直接賦值就行了!如:

    teacher.sanwei = 90;
    console.log(teacher.sanwei);

可以直接添加一個sanwei屬性,同時直接賦值90給teacher.sanwei。

如何刪除一個屬性呢?delete teacher.sanwei或者delete teacher['sanwei']

如何遍歷teacher這個對象中的屬性呢?使用for in

如:

    for (let key in teacher){
        console.log(key);
    }
    console.log('----------');
    for(let key in teacher){
        console.log(key+':'+teacher[key]);
    }
    console.log('--------');

在teacher這個對象中,定義了一個print方法,使用了this指針

如果再定義一個對象

如:

    let teacher1 = {
        name:'袁老師',
        age : 18,
    };

並賦值一下:

    teacher1.print = teacher.print; // this指向當前對象,指向teacher1
    teacher1.print();

teacher1調用print方法打印的就是當前對象的屬性了。


 

如果使用一個變量來存放呢?例如:

    let print = teacher.print;

運行之后,不會打印出任何東西。

因為默認的對象是window對象,window對象沒有name這個屬性

如果添加一個

window.name = '調用了窗口對象';
就會正常輸出name了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM