JSFiddle - React, Tailwind, and code Playground
JavaScript
function f() {
alert(this.name);
}
f = bind(f, {name: "Вася"} ); //(1) тут мы в ссылку на функцию f возвращаем обертку от нее.Так? Получается что мы перезаписываем f?
f = bind(f, {name: "Петя"} ); //(2) тут мы снова делаем тоже самое.
f(); // но результат все равно Вася. Почему???
//если же возвращать обертку допустим в новую переменную j, то по итогу ответ будет Петя. Дело тут видимо в том что мы в ссылку на функцию пишем обертку от нее.Хорошо.И ссылка на функцию f у нас сохранена в функции bind.Почему строка (2) не работает?
function bind(func, context) {
return function() {
return func.apply(context, arguments);
};
}