Проблема с наследованием и this.
Всем привет!
Второй день мучаюсь над проблемой, есть код в котором есть несколько объектов методы которых почти полностью дублируют друг друга, решил это дело отрефакторить путем создания базового класса, но знаний js маловато, поэтому возникло следующая недопонимание: http://jsfiddle.net/Ny9uf/7/ Почему this - это Map, а this.save - это Base.save ? Помогите разобраться, пожалуйста! Спасибо! |
var Base = function() {}; var Map = function() {}; Base.prototype = { init : function() { alert(this.save()); }, save : function() { return('Base.save'); } } Map.prototype = { init : function() { alert(this.save()); }, save : function() { return('Map.save'); } } Base.init = function(object) { return new object().init(); } Base.init(Base); Base.init(Map); |
Часовой пояс GMT +3, время: 14:32. |