Показать сообщение отдельно
  #1 (permalink)  
Старый 25.09.2019, 23:08
Новичок на форуме
Отправить личное сообщение для alexsm993 Посмотреть профиль Найти все сообщения от alexsm993
 
Регистрация: 25.09.2019
Сообщений: 3

Тонкости func.call(obj)
Всем привет! Есть код:

function sayBye() {
console.log('outside')
};

let user = {

sayHi: function() {
sayBye.call(user)
},

sayBye: function() {
console.log('Bye')
}
};

user.sayHi(); // outside ??? почему не 'Bye'

Как я рассуждаю.
Последней строчкой кода запускается метод sayHi() объекта user.
Метод говорит запусти функцию sayBye в контексте user.
В контексте user функция есть, но выполняется внешняя. Почему?
Ответить с цитированием