объект не изменяется через прототип
вопрос наверное нубский, но ответа не нашёл
разбирал уроки по 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, время: 21:42. |