为什么这个内部对象文字等于另一个对象

why this inside object literal equals to another object

本文关键字:于另 一个对象 文字 内部对象 为什么      更新时间:2023-09-26

我有这个代码

var testObject = new TestObject();
testObject.init();
function TestObject() {
    this.init = function() {
        var uiCtrlDescriptors = {
            "htmlElem": "elem",
            "controller" : new Controller(this.htmlElem)
        }
    }    
}

我不明白为什么this等于这一行内的testObject

"controller" : new Controller(this.htmlElem)

而不是等于uiCtrlDescriptors对象?

这就是

this的工作方式。 每当您这样做时:

obj.some_function();

然后some_function运行,this设置为 obj