一段关于Javascript中this的理解问题?

看到了这么一段代码,如下:

function foo() {      
     console.log( this.a ); 
} 
 
var obj2 = {      
    a: 42,     
    foo: foo  
}; 
 
var obj1 = {      
    a: 2,     
    obj2: obj2  
}; 
 
obj1.obj2.foo(); //42

请问应该如何理解这段代码呢?
按我的理解,obj2最后应该是:

var obj2 = {      
    a: 42,     
    foo: function () {      
        console.log( this.a ); 
    }   
};
var obj1 = {      
    a: 2,     
    foo: {      
        a: 42,     
        obj2: function () {      
            console.log( this.a ); 
        }   
    }  
};

如果是这样,实在不理解最后obj1.obj2.foo();这种链式写法,


眼眸繁星
浏览 541回答 1
1回答

炎炎设计

var obj1 = {           a: 2,          obj2: {               a: 42,              foo: function () {                   console.log( this.a );          }        }   };
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript