[英]JSHint returning odd errors
我有以下脚本,这些脚本是我在这里的人们的帮助下创建的,用于堆栈和创建计算器并相应地更新DOM。 我最近将我的编辑器更改为具有JSHint的编辑器。 我给了我一些赔率错误,希望有人能提供一些见解。
主要的是“不要在循环中使用函数”,这是指.addEventListener数组推送。 为什么这是一个问题,为什么我要这样做呢?
var currentFunction = [];
function pushToArray(v){
currentFunction.push(v);
addtoScreen(v);
}
function addtoScreen(vTag){
var screen = document.getElementById("screen");
if(currentFunction.length == 1){
var newCalc = document.createElement("p");
newCalc.className = "calc";
var opInt = document.createElement("span");
opInt.innerHTML = vTag;
newCalc.appendChild(opInt);
screen.appendChild(newCalc);
}else if(vTag == "="){
var opInt = document.createElement("span");
opInt.innerHTML = vTag;
}else{
var opInt = document.createElement("span");
opInt.innerHTML = vTag;
newCalc = screen.lastChild;
if(newCalc){
newCalc.appendChild(opInt);
}else{
screen.appendChild(opInt);
}
}
}
var numbers = document.getElementsByTagName("button");
for(var i = 0; i < numbers.length; i++){
if(numbers.item(i).id != "equalButton"){
numbers.item(i)
.addEventListener("click", function(){pushToArray(this.value);});
}
}
如果函数在循环内,则将在每次迭代时构造该函数。 在循环外声明函数,然后在循环内调用它。 或者您可以添加loopfunc:jshint忽略的true标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.