首页 > 解决方案 > 为什么方法中未定义对象数据?

问题描述

我有一些代码不起作用,我不明白为什么。我把它归结为这个简单的例子:

function Load() {
    this.data = {
        isLoaded: false,
    };

    this.load1 = function() {
        console.log(this.data.isLoaded);
    };

    this.system = {
        load2: function() {
            console.log(this.data.isLoaded);
        }
    };
}

let a = new Load();
a.load1();
a.system.load2();

为什么 this.data 在 load1 函数中定义但在 load2 函数中未定义?有没有办法让它与我想要的结构一起工作(第二种形式)?

谢谢。

标签: javascriptobjectjavascript-objects

解决方案


运行 console.log(this) 总是一个好主意。这都是关于“this”所指的内容。


推荐阅读