繁体   English   中英

JSHint返回奇数错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM