gpt4 book ai didi

javascript - this"指的是窗口对象

转载 作者:行者123 更新时间:2023-11-28 07:41:53 24 4
gpt4 key购买 nike

在 BusMonitor 对象中,“this”指的是窗口对象,这就是为什么当我在 BusMonitor 对象上调用 BaseFunction.call(this) 时“name”属性成为整个脚本的全局属性。我只希望 BaseFunction 的属性仅适用于 BusMonitor 对象。如何做到这一点?

function BaseFunction() {

this.name = "test";

}

var BusMonitor = function () {

BaseFunction.call(this);

return {
init: function () {
}
}

}();

我可以通过下面的方式做到这一点,但我不想创建这样的对象。

function BusMonitor () {

BaseFunction.call(this);

return {
init: function () {

}
}

};

var busMonitor = new BusMonitor();
busMonitor.init();

最佳答案

当然,如果可能的话,您可以先创建对象,然后将其传递给 BaseFunction

function BaseFunction() {
this.name = "test";
}

var BusMonitor = function () {
var obj = {
init: function () { }
};

BaseFunction.call(obj);

return obj;
}();

关于javascript - this"指的是窗口对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27917234/

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