2 回答
TA贡献1784条经验 获得超8个赞
使用循环:
for (let i = 1; i <= 80; i++) {
onEvent("pb" + i, "click", function()
console.log("pb" + i + " was clicked");
})
}
确保使用let而不是var,以便为每次迭代获得一个新的绑定。
TA贡献1803条经验 获得超3个赞
不幸的是,范围迭代器还没有内置。但它们制作起来很简单(使用循环):
function* range(start, end) {
for (let i = start; i <= end; i++) {
yield i
}
}
然后,您可以这样做:
for (let value of range(1,80)){
console.log(value)
}
或这个:
range(1,80).forEach(value => console.log(value))
为什么这样做而不仅仅是一个循环?好吧,取决于,有时循环更有意义。但这里有一些可能会更好的原因:
更多意图揭示代码:拥有一个名为 range 的函数会告诉您您打算做什么:使用一系列值
更好的提取:假设您后来发现循环效率低下(不太可能,但为了举例)。然后,您可以在一
range
处更改代码,并在各处进行修复。或者,也许您想处理字母和数字的范围。现在您可以在一个地方进行更改,并且它在任何地方都有效。同样,假设您需要在许多地方使用范围。在任何地方都使用循环意味着您必须在使用该循环的每个地方都避免拼写错误。如果改为使用
range
,则可以避免该问题。
添加回答
举报