【发布时间】:2012-07-11 18:09:14
【问题描述】:
我是 Javascript 框架领域的新手,我非常喜欢 Backbonejs 的工作方式。 但是我有一个关于模型和视图的构造函数的问题。我多年来一直使用类似 Java 的语言进行开发,并且习惯于这样定义构造函数:
public Car(Manufacturer manufacturer, String model, Color color) {
this.manufacturer = manufacturer;
this.model = model;
this.color = color;
}
但我在文档和其他教程中看到,人们在定义模型或视图时通常不会声明特定的构造函数,他们只是像这样构造对象:
var car = new Car({manufacturer: ford, model: "Mustang", color: "red"});
这样定义构造函数是错误的还是“丑陋的”:
window.Car = Backbone.Model.extend({
initialize: function(manufacturer, model, color) {
this.manufacturer = manufacturer;
this.model = model;
this.color = color;
}
});
如果是这样,你能解释一下原因吗? 我真的希望这不是一个愚蠢的问题,我没有找到任何相关的问题。
【问题讨论】:
-
这不是 Java。不要期望它遵循完全相同的语法。
-
感谢您的评论!实际上,我不希望有相同的语法,我只想知道什么是正确/最好的方法,一旦两者都可能。
-
如果你以这种方式定义你的类,在创建
CarModel的实例时你是否可以访问initialize? -
对不起 MilkyWayJoe,我不明白你的问题。
标签: javascript oop design-patterns backbone.js