Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с наследованием и this. (https://javascript.ru/forum/misc/22925-problema-s-nasledovaniem-i.html)

lyapun 05.11.2011 21:11

Проблема с наследованием и this.
 
Всем привет!

Второй день мучаюсь над проблемой, есть код в котором есть несколько объектов методы которых почти полностью дублируют друг друга, решил это дело отрефакторить путем создания базового класса, но знаний js маловато, поэтому возникло следующая недопонимание:

http://jsfiddle.net/Ny9uf/7/

Почему this - это Map, а this.save - это Base.save ?

Помогите разобраться, пожалуйста!

Спасибо!

monolithed 06.11.2011 20:56

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.