bind
создает функцию new со связанным значением this
(и, возможно, аргументами).Если вы хотите выполнить функцию, вызовите ее с помощью ()
:
button.onclick = function() {
addNum.bind(this)();
}
Но это довольно глупо, когда .call
выполняет то же самое, не требуя дополнительных ()
:
button.onclick = function() {
addNum.call(this);
}
Вызов .bind
без выполнения созданной функции похож на:
button.onclick = function() {
const someFn = () => console.log('foo');
}
Здесь вы создали функцию с именем someFn
, но никогда ее не вызывали.Если вы не вызовете полученную функцию, она не будет использоваться.