Тонкости 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, время: 04:42. |