将控制器定义为通用对象而不是函数是不好的做法吗?

时间:2015-05-26 04:58:39

标签: javascript

只是想知道,如果你有一个单独的控制器(如你所知,你的文档中只会有一个实例),将它定义为通用对象而不是函数是否有任何问题? e.g:

var SomeController = {
  initialize: function(userId){
    this.userId = userId;
  },

  alertUserId: function() { alert(this.userId) }
}

SomeController.initialize(999);
SomeController.alertUserId();

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-1)

是的,你可以这样做,但你也可以更具体:

var myApp = myApp || {};


myApp.SomeController = myApp.SomeController || {};

myApp.SomeController = {

}


myApp.SomeController1 = myApp.SomeController1 || {};

myApp.SomeController1 = {

}

我将所有controllers保留在我的应用myApp中。这称为嵌套命名空间。这里的加分点是命名空间之间的冲突较少。

var myApp = myApp || {};会检查现有的myApp是否会添加,否则会创建新的myApp.SomeController = myApp.SomeController || {};myApp.SomeController1 = myApp.SomeController1 || {};

您应该始终在应用中保留至少一个级别的嵌套namespaing,以避免冲突并使您的功能更加清晰。