объект не изменяется через прототип
вопрос наверное нубский, но ответа не нашёл
разбирал уроки по js и столкнулся вот с чем: function User(name, age){ this.name = name; this.age = age; } var u2 = new User('Mike', 32); обычный учебный пример, но при попытке изменить через прототип User.prototype.x = true; ничего не происходит, не могу понять что не так, вроде написано без ошибок |
function User(name, age){
this.name = name;
this.age = age;
}
var u2 = new User('Mike', 32);
alert(u2.x);
User.prototype.x = true;
alert(u2.x);
p.s чего вы ждете? |
Цитата:
|
Цитата:
|
Цитата:
при обращении u2.х значение по цепочке прототипов берётся из прототипа (т.к. не определено у самого объекта) |
я бы посоветовал посмотреть вот это видео - мне понравилось: Конструкторы и прототипы
|
|
Цитата:
User {name: "Mike", age: 32, x: true } |
Цитата:
|
function User(name, age){
this.name = name;
this.age = age;
}
var u2 = new User('Mike', 32);
User.prototype.x = true;
console.log(u2);
в консоли:
User {name: "Mike", age: 32}
есть ещё свойстов __proto__: User - это ссылка на прототип (у прототипа есть свойство х: true). что вас удивляет? |
| Часовой пояс GMT +3, время: 17:03. |