作为开发非常简单的 Firefox 插件的一部分,我开始学习 Javascript。Firefox 插件教程建议将所有函数和数据封装在这样的命名空间中。
if ("undefined" == typeof(XULSchoolChrome)) {
var XULSchoolChrome = {};
};
XULSchoolChrome.BrowserOverlay = {
first_name : new String,
onmenuclick : function(aEvent) {
// do something here
}
};
我有几个与此相关的问题:
- 我知道这
XULSchoolChrome
是一个具有名为BrowserOverlay
. 但是什么是first_name
和onmenuclick
?它们是对象的子属性吗?BrowserOverlay
- 如果我需要访问
first_name
内部onmenucick
函数,它必须是完全限定XULSchoolChrome.BrowserOverlay.first_name
的。对于非平凡的代码,这很快就会变得笨拙。有没有更优雅的方式在 Javascript 中模拟命名空间?