JS:如何在addEventListener中使用匿名函数.bind



我正在编写河内塔,并将在画布上使用eventListeners(html元素(。在阅读它们时,我从 developer.mozilla.org 运行了以下代码,

  • 标题 - 将数据传入和传出事件侦听器
  • 副标题 - 使用此将数据放入事件侦听器
1 var myButton = document.getElementById('my-button-id');
2 var someString = 'Data';
3
4 myButton.addEventListener('click', function.bind(someString) {
5  console.log(this);  // Expected Value: 'Data'
6 });

为什么我的结果"SyntaxError: missing ( before formal parameters" 4(line):43(column) - 这就是function.bind中的"点"所在。请。

function() {
  console.log(this);  // Expected Value: 'Data'
}.bind(someString)

bind是在函数对象上找到的方法。它不用于 function 关键字(构成函数表达式和函数声明的一部分(。

首先,创建函数,然后绑定。

function myFunction () {
    console.log(this);
}
const someString = "something to bind to";
const myBoundFunction = myFunction.bind(someString);
myBoundFunction();

最新更新