Ваш код выглядит немного запутанным.С одной стороны, myObject.itemEditor является конструктором и, следовательно, функцией (myObject.itemEditor.apply(this, [vars])
), а с другой стороны, вы рассматриваете его как объект с прототипом (this.prototype = myObject.itemEditor.prototype;
).
Это даже не учитывая, чтоsuper
- зарезервированное ключевое слово.
Ваш пример может упростить то, что вы пытаетесь сделать, но я не понимаю, почему вы не просто используете обычное наследование прототипа.Таким образом, вы все равно можете иметь метод в своем локальном экземпляре и вызывать прототип внутри него, если хотите, например,
recurringItemEditor : function (vars) {
this.prototype = new myObject.itemEditor(vars);
this.editItem = function () {
console.log("fn.recurringItemEditor.editItem");
console.log(this.prototype);
console.log(this.prototype.editItem);
this.prototype.editItem.call(this);
}
}