首页 > 解决方案 > 无论如何我可以将变量设置为一系列数字并将其包含在函数中吗?(javascript)

问题描述

onEvent("pb" + 1, "click", function() {
console.log(("pb" + 1) + " was clicked!");
});

onEvent("pb" + 2, "click", function() {
console.log(("pb" + 2) + " was clicked!");
});

onEvent("pb" + 3, "click", function() {
console.log(("pb" + 3) + " was clicked!");
});

onEvent("pb" + 4, "click", function() {
console.log(("pb" + 4) + " was clicked!");
});

我必须编写其中的 80 个函数......

我想这样做,所以我可以使用一个变量来包含 1-80 的范围:

 onEvent("pb" + [1, 80], "click", function() {
 console.log(("pb" + [1, 80]) + " was clicked!");
 });

我不确定是否可以将变量定义为一组单独的数字。

标签: javascriptrangedry

解决方案


使用循环:

for (let i = 1; i <= 80; i++) {
    onEvent("pb" + i, "click", function()
        console.log("pb" + i + " was clicked");
    })
}

确保使用let而不是var,以便为每次迭代获得一个新的绑定。否则你会遇到臭名昭著的 Javascript Loop 问题?


推荐阅读