这个javascript对象文字表示法有什么问题?
Whats wrong with this javascript object-literal notation?
我正试图为我的网站实现一个.js文件考虑到神圣的全局命名空间。这次我想用正确的方式来做,所以请帮助我解决这个可能太简单的问题:
目前为止我有什么:
var myJSFile = (function () {
function a (){
}
function b (){
}
return {
global1 : 0,
global2 : 0,
functionc : function (){
a();
},
functiond : function () {
a();
b();
}
};
})();
你看,我想有一个全局变量"myJSFile"显示给全局作用域。还有两个私有函数(a,b),两个全局变量(global1, global2)和两个全局函数(functionc, funcond )。这段代码确实可以工作,但是netbeans似乎不喜欢,而不喜欢。netbeans在它的导航器中显示的唯一的东西是全局变量"myJSFile"。没有私有函数,没有公共函数,没有其他变量。我真的需要它,因为会有很多函数。
这让我觉得,我做了一些完全错误的事情。所以请给我一些建议,如何修复这些代码,成为一个更好的js程序员。
提前感谢!
编辑:我知道如何处理这个对象并像这样使用它:
myJSFile.global1 = anything;
myJSFile.functionc();
对我来说,这里的问题是netbeans中的导航器,它使我认为我做错了什么,没有显示给我。
编辑(2):看起来netbeans更新了。现在它可以识别函数等等
您正在创建对象。所以你的公共函数将是myJSFile
对象的属性。所以下面的代码应该可以工作:
// Public functions
myJSFile.functionc(); // calls a()
myJSFile.functiond(); // calls a() then b()
// Public properties
myJSFile.global1; // 0
myJSFile.global2; // 0
这是module
模式的一个例子。你可以在这里读到更多!
相关文章:
- 我不知道我的编码有什么问题.(JavaScript)
- 我的流星路线出了什么问题
- 此nodeValue替换代码有什么问题
- 这个正则表达式的日期/时间有什么问题
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 这个代码出了什么问题?(Jquery)
- 下面的Reg表达式出了什么问题
- 鼠标事件,我的代码出了什么问题
- 这个javascript语法有什么问题
- 动态创建foreignGroup并将其添加到svg中有什么问题
- 此代码中动态生成选择框有什么问题
- 我的javascript有什么问题?.className
- 这个 ajax.js 代码有什么问题
- JS代码有什么问题,让我知道代码是否可以改进
- 我的 Browserify JavaScript 代码有什么问题
- 图像上传功能将++(+1)副本添加到下一次上传.出了什么问题或如何重置“选定图像”
- 使用 Javascript 动态删除行.我的代码有什么问题
- AngularJS:这个注入我的控制器有什么问题
- 这个jQuery if语句有什么问题
- JavaScript:有人能告诉我我的代码出了什么问题吗?