Возможно ли создать экземпляр объекта из его прототипа, если прототип используется для нескольких подклассов?Как создать экземпляр объекта из метода прототипа
Например, если у меня есть:
var BaseClass = Backbone.Model.extend({
createNewForMap: function(map) {
// Here I would like to create a new instance of the
// class that the method is being called for.
}
});
var ClassOne = BaseClass.extend({});
var ClassTwo = BaseClass.extend({});
Затем, где-то в коде приложения, я хочу, чтобы быть в состоянии назвать:
var model = ClassOne.createNewForMap(map);
или
var model = ClassTwo.createNewForMap(map);
И имеют model
экземпляр ClassOne
или ClassTwo
.
'вар модель = новый ClassOne()' 'затем model.createNewForMap (карта)'? – AdamJeffers
Почему вы не можете просто создавать новые классы ClassOne() и 'new ClassTwo()' для создания своих экземпляров ..? –
@TJ Или просто используйте ['constructor'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor), если у вас есть только экземпляр. –