А можно мне пояснить эту конструкцию?
function One(){
// Очевидно, устанавливает this свойства и методы
}
function Two(){
One.call(this);
}
Two.prototype = Object.create(One.prototype);
Two.prototype = {
setParams: function (num) {
this.prop = num;
},
prop: null
};
Что мне непонятно:
1. Точно ли нужно в каждый объект
new Two() писать собственные методы? Может, проще-таки наследовать от прототипа One? Но тогда подход к созданию должен быть другим.
2. Зачем мы сослались на прототип One и тут же затерли эту ссылку?
Если бы я хотел унаследовать от One и дописать своё в Two, то поступил бы по-другому:
function One(){}
function Two(){}
function F(options) {
for (var i in options) {
if (options.hasOwnProperty(i)) {
this[i] = options[i];
}
}
}
One.prototype = {
// наследуемые свойства и методы
};
F.prototype = One.prototype;
Two.prototype = new F({
setParams: function (num) {
this.prop = num;
},
prop: null
});
Что же насчёт вопроса — покажите код с передачей callback.