Javascript 如何修复JSHint“;Don';t在循环中生成函数“;(loopfunc规则)警告?

Javascript 如何修复JSHint“;Don';t在循环中生成函数“;(loopfunc规则)警告?,javascript,jshint,Javascript,Jshint,岩石 纸张 剪刀i该警告试图防止您遇到以下问题(仅此一项就有大约1800个重复项或相关问题) 幸运的是,您的实际代码不受此问题的影响,这意味着我们可以将函数从循环中拉出。这还修复了JSHint警告: var buttons = document.getElementsByTagName("button"); var buttonsCount = buttons.length; var handler = function () { console.log(this.id); }; fo

岩石
纸张

剪刀
i该警告试图防止您遇到以下问题(仅此一项就有大约1800个重复项或相关问题)

幸运的是,您的实际代码不受此问题的影响,这意味着我们可以将函数从循环中拉出。这还修复了JSHint警告:

var buttons = document.getElementsByTagName("button");
var buttonsCount = buttons.length;
var handler = function () {
    console.log(this.id);
};

for (var i = 0; i < buttonsCount; i++) {
    buttons[i].onclick = handler;
}
var buttons=document.getElementsByTagName(“按钮”);
var buttonsCount=buttons.length;
var handler=函数(){
console.log(this.id);
};
对于(变量i=0;i
这如何解决OP的“循环中的函数”问题?此外,编辑使您的答案无效。
var buttons = document.getElementsByTagName("button");
var buttonsCount = buttons.length;
var handler = function () {
    console.log(this.id);
};

for (var i = 0; i < buttonsCount; i++) {
    buttons[i].onclick = handler;
}