Кто-нибудь может объяснить такую хитрую штуку.. Есть код:
function Car(speed) {
Car.prototype = {
getSpeed: function() {
return speed;
}
}
Car.prototype.constructor = Car;
}
var car = new Car(100);
Почему car не видит метода getSpeed?
car.getSpeed(); //ошибка
car.constructor.prototype.getSpeed(); //вернет speed=100
В то же время можно делать так (не переопределяя прототип):
function Car(speed) {
Car.prototype.getSpeed = function() {
return speed;
}
}
var car = new Car(100);
car.getSpeed(); //100