Всем привет, столкнулся с ситуацией в процессе изучения JS - запутался с наследованием. Подскажите, когда и что необходимо использовать? Если можно хотяб пару примеров.
Есть:
function A(type){
this.type = type;
this.x = 10;
};
A.prototype.getType = function(){return this.type};
A.prototype.getX = function(){return this.x};
Наследуем:
1. вариант: // Наследуем класс А используя prototype
function B(type){};
B.prototype = new A();
var b = new B('cool');
b.x // 10;
b.type // undefined;
2. вариант: // байндим this класс А, работает все хорошо.
function C(type){
A.call(this, type);
};
var c = new C("cool");
c.x // 10;
c.type // cool
В чем разница этих двух вариантов, когда каждый их них необходимо использовать? Как правильно поступить в первом варианте, чтоб тип принял аргумент? Заранее большое спасибо.