Насколько я понимаю, в JavaScript каждый объект имеет prototype
и предоставляет некоторые свойства по умолчанию. У меня есть следующий код, в котором я пытаюсь установить свойство Year двух объектов через prototype
. Но оба вызова терпят неудачу.
Как я могу переопределить toLocalString()
для любого объекта, если у меня нет доступа к prototype
? Обратите внимание, что следующий код предназначен для тестирования свойства prototype
, но я намерен переопределить метод toLocalString()
.
var car = {
Make: 'Nissan',
Model: 'Altima'
};
car.Year = 2014;
alert(car.Year);
alert(car.prototype); // returns undefined
car.prototype.Year = 2014; // Javascript error
// --------------
function Car() {
this.Make = 'NISSAN';
this.Model = 'Atlanta';
}
var v = new Car();
v.prototype.Year = 2014; // JavaScript error
alert(v.prototype);
Car.prototype.Year = 2014
- вы устанавливаете прототип для объектной функции, а не для созданного экземпляра. - person tymeJV   schedule 01.10.2014toLocaleString()
вместоtoLocalString()
или хотите реализовать свой собственный методtoLocalString()
? - person keenthinker   schedule 02.10.2014prototype
принадлежит функции. Функция использует это свойствоprototype
при вызове сnew
для создания объектов экземпляра. Установкаprototype
на нефункциональном объекте не имеет никакого эффекта. - person apsillers   schedule 02.10.2014