Тонкости 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 функция есть, но выполняется внешняя. Почему? |
Цитата:
Укажите явно, где искать функцию: sayHi: function() { this.sayBye(); //или user.sayBye(); }, |
Да, я понял, спасибо!
|
Часовой пояс GMT +3, время: 18:01. |