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

时间:2019-06-03 15:00:43

标签: javascript bind addeventlistener anonymous-function

我正在编码河内塔楼,并将在画布(html元素)上使用eventListeners。在阅读它们时,我从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中的“点”所在的位置。拜托。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

首先,创建功能,然后 绑定。

function myFunction () {
    console.log(this);
}

const someString = "something to bind to";

const myBoundFunction = myFunction.bind(someString);

myBoundFunction();