gpt4 book ai didi

javascript - 这个 javascript 对象字面量表示法有什么问题?

转载 作者:行者123 更新时间:2023-11-30 06:32:25 25 4
gpt4 key购买 nike

考虑到神圣的全局命名空间,我正在尝试为我的网站实现一个 .js 文件。这次我想以正确的方式来做,所以请帮我解决这个可能太简单的问题:

到目前为止我所拥有的:

var myJSFile = (function () {

function a (){
}
function b (){
}

return {
global1 : 0,
global2 : 0,

functionc : function (){
a();
},

functiond : function () {
a();
b();
}
};
})();

你看,我想要一个全局变量“myJSFile”,以便在全局范围内显示。还有两个私有(private)函数(a,b),两个全局变量(global1, global2)和两个全局函数(functionc, functiond ).这段代码确实有效,但 netbeans 似乎喜欢它。netbeans 在其导航器中向我展示的唯一一件事是全局变量“myJSFile”。没有私有(private)的,没有公共(public)的功能,没有其他变量。我真的需要它,因为会有很多功能。

这让我觉得,我做的事情完全错了。所以请给我一些关于如何修复此代码并成为更好的 js 程序员的建议。

提前致谢!

编辑:我知道,如何处理这个对象并像这样使用它:

myJSFile.global1 = anything;
myJSFile.functionc();

这里对我来说问题是 netbeans 中的导航器,它让我认为我做错了什么,因为没有向我显示任何东西。

编辑(二):似乎 netbeans 已更新。现在可以识别功能等等。

最佳答案

您正在创建一个对象。因此,您的“公共(public)”函数将是 myJSFile 对象的属性。所以以下应该有效:

// Public functions
myJSFile.functionc(); // calls a()
myJSFile.functiond(); // calls a() then b()


// Public properties
myJSFile.global1; // 0
myJSFile.global2; // 0

这是module 模式的一个例子。您可以阅读更多相关信息 here !

关于javascript - 这个 javascript 对象字面量表示法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16730444/

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