gpt4 book ai didi

JavaScript - 使用嵌套函数构造全局对象

转载 作者:行者123 更新时间:2023-12-03 07:06:47 25 4
gpt4 key购买 nike

我对 JavaScript 还很陌生,我一生都无法弄清楚如何在我的脚本中正确构造全局对象:

var Global =
{
button1Handler: function () {
this.button1 = $("#button1");
this.init = function () {
this.button1.on("click", function () { alert("button1 clicked"); });
}
},
button2Handler: function () { /* ... */ },
init: function () {
this.button1Handler.init();
this.button2Handler.init();
}

};

$(function () {
Global.init();
});

此代码产生以下错误:

TypeError: this.button1Handler.init is not a function

如果我将其更改为 this.button1Handler().init(); 错误就会消失,但 Button1Handler.init() 函数永远不会被调用。

如何更正上面的代码?

最佳答案

我不知道为什么你必须这样做。但如果你真的想要,你可以通过以下方式实现你想要的:

    button1Handler: function () {
return {
button1: $("#button1"),
init: function () {
this.button1.on("click", function () { alert("button1 clicked"); });
}
};
},

然后您可以将 init 调用为 this.button1Handler().init()

在本例中,this.button1Handler() 函数返回一个对象,该对象还具有 init 方法。

关于JavaScript - 使用嵌套函数构造全局对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791061/

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