Друга прив’язка
важливість: 5
Чи можемо ми змінити this
за допомогою додаткового прив’язування?
Який результат буде виведено?
function f() {
alert(this.name);
}
f = f.bind( {name: "Іван"} ).bind( {name: "Христя" } );
f();
Відповідь: Іван.
function f() {
alert(this.name);
}
f = f.bind( {name: "Іван"} ).bind( {name: "Христя"} );
f(); // Іван
Екзотичний об’єкт прив’язаної функції повертається від f.bind(...)
, що запам’ятовує контекст (та аргументи, якщо передані) тільки під час створення.
Функція не може бути переприв’язана.