JS中如何识别事件并将其作为参数传递给回调函数?

How to identify an event and pass it as a parameter to the callback function in JS?

我做了几次测试并在网上搜索,但找不到解决办法。

下面的代码产生了 4 个超时事件。

for (let w=1; w<=4; w++) {
    var eventname = "event"+w;
    this[eventname] = setTimeout(DoStuff(this), 1000);
}

function DoStuff (myref) {
    console.log(myref)
}

我需要一种方法将调用它的 4 个事件的引用传递给回调函数。

有什么想法吗?

setInterval函数中的第三个和后面的所有参数都可以用来传递参数。

因此,在您的情况下,在 delay 参数之后将 eventname 引用传递给 setTimeout,并且只引用 DoStuff 函数而不调用它。

for (let w=1; w<=4; w++) {
  var eventname = "event"+w;
  this[eventname] = setTimeout(DoStuff, 1000, eventname);
}