我正在编码河内塔楼,并将在画布(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中的“点”所在的位置。拜托。
答案 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();