gpt4 book ai didi

javascript - 为什么属性返回未定义而不是对象?

转载 作者:行者123 更新时间:2023-11-30 12:04:38 24 4
gpt4 key购买 nike

在第一个 alert(this.child) 返回一个对象,第二个它返回 undefined 而我期望相同的结果。为什么以及如何修复它?

https://jsfiddle.net/7jnyozx1/2/

    var Child = (function() {
function Child(data) {
}

return Child;
})();

var ChildModel = (function() {
function ChildModel(data) {
this.data = data;
this.child = new Child(data);
alert(this.child); // TEST OK : object
}

function local() {
alert(this.child); // TEST KO : undefined
}

ChildModel.prototype.call = function() {
local();
}

return ChildModel;
})();

data = "hello";
var childModel = new ChildModel(data);
childModel.call();

最佳答案

因为函数 local 与对象没有任何关系。您可以将该函数放在文件的顶部,它会以完全相同的方式工作。

您可以执行 local.apply(this);thiscall 方法传递给函数,但您可能我们也将 local 设为原型(prototype)函数。

关于javascript - 为什么属性返回未定义而不是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com