Давайте создадим объект, который наследуется от другого анонимного объекта:
var obj = Object.create({
func: function () { alert('Inherited method'); }
});
Теперь obj
наследует метод func
от этого анонимного объекта (ссылка на прототип obj
указывает на этот анонимный объект).
obj.func(); // alerts 'Inherited method'
Но если мы назначим свойство func
для самого obj
, унаследованное свойство func
будет shadowed :
obj.func = function () { alert('Own method'); };
obj.func(); // alerts 'Own method'
Демонстрация в реальном времени: http://jsfiddle.net/PLxHB/
Теперь, если мы хотим вызвать этот затененный метод func
(тот, который предупреждает 'Inherited method'
), что было бы хорошим способом сделатьчто?
Я уже придумала одно решение - см. здесь - но это что-то вроде хака.