javascript中python风格的类变量

javascript中python风格的类变量,javascript,class,backbone.js,Javascript,Class,Backbone.js,这类问题可能很难找到,因为它们可以用很多不同的方式表达,所以如果这是重复的,请原谅我。我希望在主干模型上定义类变量,使它们在实例上仍然可用。可以这样做: var foo_base = { foo: bar }, FooModel = Backbone.Model.extend(foo_base, foo_base); 但这是相当难看的,因为它涉及到提供与实例和类原型相同的对象。有没有一种更简单的方法只使用foo_base或foo 我无法理解为什么要发送与实例属性和类属性相同的对

这类问题可能很难找到,因为它们可以用很多不同的方式表达,所以如果这是重复的,请原谅我。我希望在主干模型上定义类变量,使它们在实例上仍然可用。可以这样做:

var
    foo_base = { foo: bar },
    FooModel = Backbone.Model.extend(foo_base, foo_base);
但这是相当难看的,因为它涉及到提供与实例和类原型相同的对象。有没有一种更简单的方法只使用foo_base或foo

我无法理解为什么要发送与实例属性和类属性相同的对象

要创建没有实例属性但有类属性的模型,可以执行以下操作

var foo_base = { foo: bar },
    FooModel = Backbone.Model.extend({}, foo_base);

我应该补充一点,完全可以重写Backbone.Model.extend的行为,这样就可以传递第三个参数,并将其应用于这两个参数。我只是想知道是否有一种很好的方法可以做到这一点。正如问题中所述,变量需要绑定到实例和类。那么,问题中的代码就是最好的方法。
var foo_base = { foo: bar },
    FooModel = Backbone.Model.extend({}, foo_base);