Я использую вызов jQuery .each()
, который использует анонимную функцию из цикла for
. JSLint предлагает предупреждение «Не выполнять функции в цикле».
Вот фрагмент кода из более крупной функции - по сути, он проверяет, все ли игроки в игре «живы» (имеет хотя бы одну фигуру на доске).
for( i=0 ; i<PLAYERLIMIT ; ++i ) {
if( player[i].status !== 0 ) { //skip already dead players
var stillAlive = false;
$board.find("td").each( function() { //this func causes JSLint warning
if( $(this).data("owner") === player[i].number ) {
stillAlive = true;
return false;
}
});
if( !stillAlive ) {
//... action to take for dead players
}
}
}
Я вижу, как убрать это предупреждение - просто объявите функцию отдельно и вызовите ее. Но это очень маленькая однократная функция, и, по сути, я рассматриваю это как тело вложенного цикла for
, (я по сути читаю вызов .each()
как нечто вроде for $("td") in $board {}
)
Этот JSLint предоставляет одно из предупреждений style , или это более серьезно?
В общем, лучше ли мне это исправить?
Я хотел бы понять причину предупреждения, поэтому любые комментарии по поводу того, почему существует предупреждение, будут полезны (опять же, я хочу знать, практично ли это или стиль).