Я пытаюсь сделать это можно наследовать от этого класса:JavaScript - как сделать это возможным, чтобы наследовать
function Vehicle(p) {
this.brand = p.brand || "";
this.model = p.model || "";
this.wheels = p.wheels || 0;
}
Vehicle.prototype.getBrand = function() {
return this.brand;
};
Vehicle.prototype.getModel = function() {
return this.model;
};
Vehicle.prototype.getWheels = function() {
return this.wheels;
};
var myVehicle = new Vehicle({
brand: "Mazda",
model: "RX7",
wheels: 4
});
console.log(myVehicle);
Я пытался делать это так:
function Vehicle(p) {
this.brand = p.brand || "";
this.model = p.model || "";
this.wheels = p.wheels || 0;
}
Vehicle.prototype.getBrand = function() {
return this.brand;
};
Vehicle.prototype.getModel = function() {
return this.model;
};
Vehicle.prototype.getWheels = function() {
return this.wheels;
};
function Car(){}
Car.prototype = new Vehicle();
Car.prototype.getWheels = function() {
return 4;
};
var myCar = new Car({
brand: "Mazda",
model: "RX7"
});
console.log(myCar);
но мне кажется, как это не работает:
> Uncaught TypeError: Cannot read property 'brand' of undefined
Может кто-нибудь объяснить мне, что случилось? Наверное, это не способ записи, но почему?
Я попробовал ваш пример, и если вы запустите 'console.log (myCar.brand);', он вернет 'undefined'. –
@Adonis K .: это потому, что мой ответ является дополнением к elclanrs 'one. Теперь, чтобы мой код был полным, проверьте его сейчас? – zerkms
Кажется, что я работаю, я думаю, мне нужно сделать рытье в супер и прототип цепи. Спасибо! –