我有一个包含一个外部脚本文件的页面。在此脚本中,使用了3个全局对象:
var oArticle = new Article();
var oUiManager = new UiManager();
var oController = new Controller();
我今天建议将它们全部放在一个对象中,例如在exercisePage中:
var exercisePage = {
"oArticle": new Article(),
"oUiManager": new UiManager(),
"oController": new Controller()
};
如果我只为页面使用一个脚本文件,这种方法有什么好处?
答案 0 :(得分:2)
将这样的对象分组只会最大限度地减少全局变量冲突的可能性。
如果你包含了很多外部库,那么你肯定要确保它们都能正常运行而不会踩到彼此的变量。
也就是说,大多数lib都设计得很好,他们不太可能与用户定义的变量发生碰撞。
比把它们放在一个对象更好,anonymous closure甚至可以更多有效
(function(){
var oArticle = new Article();
var oUiManager = new UiManager();
var oController = new Controller();
// other code that uses these objects
})();