我使用下面的代码,它的作用和我的问题我应该如何更好地编写它,因为当我使用EsLint时,我得到了红色消息,说没有循环的功能,目前我是JS的新手,所以我不知道该怎么做那更好......
for (var i = 0; i < allChildren.length; i++) {
allChildren[i].attachChange(function(){
this.getChecked() ? nSelectedChildren+=1 : nSelectedChildren-=1;
if(nSelectedChildren === 0){
oParent.toggle("Unchecked");
}
else if(nSelectedChildren === allChildren.length){
oParent.toggle("Checked");
}
else{
oParent.toggle("Mixed");
}
}
);
答案 0 :(得分:1)
EsLint意味着应该是什么,我认为是:
function foo(){
this.getChecked() ? nSelectedChildren+=1 : nSelectedChildren-=1;
if(nSelectedChildren === 0){
oParent.toggle("Unchecked");
}
else if(nSelectedChildren === allChildren.length){
oParent.toggle("Checked");
}
else{
oParent.toggle("Mixed");
}
}
for (var i = 0; i < allChildren.length; i++) {
allChildren[i].attachChange(foo);
}
不要在循环中定义函数