Почему в одном объекте может быть несколько __proto__? В javascript функции живут отдельно от объектов. Поэтому любой объект может использовать любые функции. При создании функция из конструктора обычно применяется такой способ:function User(name) {
this.name = name;
}
User.prototype.hello = function(who) {
console.log('hello, ' + who.name);
}
Это означает, что при создании экземпляра объекта в его свойство __proto__ записывается ссылка на функцию hello(), которая лежит где-то отдельно. Это понятно.
Но в таком коде:function User(name) {
this.name = name;
}
User.prototype.hello = function(who) {
console.log('hello, ' + who.name);
}
User.prototype.bye = function(who) {
console.log('bye, ' + who.name);
}
эта ссылка __proto__ должна перезаписаться. И в результате созданный объект будет связан только с функцией bye(). Однако этого не происходит и в реальности экземпляр user() может вызывать и hello(), и bye():var petya = new User('Петя');
petya.hello(petya);
petya.bye(petya);
Мне это не понятно, объясните пожалуйстаJSFIDDLE

21 Авг 2019 в 07:00
180 +1
1
Ответы
Нет ответов
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 82 994 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир