在对命名空间进行了很好的研究之后,我得出结论,将站点绑定到对象并在全局级别访问它对于不污染全局命名空间要好得多。
但我想澄清一些事情:
1)这两者之间的区别是什么,哪个更好 为什么? (请注意 exmp2
中关键字 窗口 的使用情况
exmp1:
var namespace = (function(){
var setting1: function(){
},
var setting2: function(){
}
return {
test: setting1;
};
})();
exmp 2:
window.ckit = {
setting1: function(){
},
setting2: function(){
}
};
2)一旦创建了对象,我想进一步命名它以避免对象名称与其他库冲突。在网上我发现这是实现它的方式。
var namespace= namespace|| {};
据我所知,这检查命名空间是否存在,如果没有创建新对象?这有助于避免碰撞吗?
重新命名上面的对象命名空间的方法是什么? 我希望在整个项目中使用的任何名称?
我是否需要在每个要使用命名空间的页面上重命名?或者,如果可以在加载的第一页上进行,怎么做?