【发布时间】:2012-03-18 23:52:13
【问题描述】:
我在 Backbone 中遇到了一些奇怪的事情:
一个公共父类的所有子类似乎都与它们的兄弟姐妹一起获得了“引用”属性......!
检查这个简单的测试用例:
var MyParentClass = Backbone.View.extend({
items:['foo'],
initialize: function() {
}
});
var MyFirstChildrenClass = MyParentClass.extend({
initialize: function() {
MyFirstChildrenClass.__super__.initialize.apply(this, arguments);
console.warn('MyFirstChildrenClass::initalize()');
this.items.push('bar');
}
});
var MySecondChildrenClass = MyParentClass.extend({
initialize: function() {
MySecondChildrenClass.__super__.initialize.apply(this, arguments);
console.warn('MySecondChildrenClass::initalize()');
console.warn(this.items); // expecting [foo] & getting [foo,bar] !
}
});
var firstInstance = new MyFirstChildrenClass();
var secondInstance = new MySecondChildrenClass();
【问题讨论】:
标签: javascript class inheritance backbone.js