Javascript事件处理程序从一开始就执行所有函数

Javascript事件处理程序从一开始就执行所有函数,javascript,dom-events,Javascript,Dom Events,我有一个非常奇怪的行为,我不明白为什么会发生 最后的console.log在脚本运行结束时打印一次,然后针对发生的每个事件再次打印,tempOutput数组显示三次,每次都有不同的值 var tempOutput = [] if (limited) { var selectseries = mvc.Components.getInstance('selectseries'); selectseries.on("change", function(eve

我有一个非常奇怪的行为,我不明白为什么会发生

最后的console.log在脚本运行结束时打印一次,然后针对发生的每个事件再次打印,tempOutput数组显示三次,每次都有不同的值

    var tempOutput = []

    if (limited) {
      var selectseries = mvc.Components.getInstance('selectseries');

      selectseries.on("change", function(event) {

          let vfx = setInterval(
            function() {
              dropSelect.classList.add('pulse-on');
              setTimeout(
                function() {
                  dropSelect.classList.remove('pulse-on')
                }, 1200
              )
            }, 2400);
          defaultTokenModel.on("change:" + dropDownTyp.tokenName, function(e) {
            if (vfx) {
              clearInterval(vfx);
              document.querySelector('#drop_arrow').style.background = ''
            }
          });
        } else {
          dropSelect.setAttribute('value', '<Select ' + label + '>')
          dropSelect.classList.add('disable')
        }
      })
    }


    console.log("how much?")
    console.log(tempOutput)
var tempOutput=[]
如有(有限){
var selectseries=mvc.Components.getInstance('selectseries');
选择Series.on(“更改”,功能(事件){
设vfx=setInterval(
函数(){
dropSelect.classList.add('pulse-on');
设置超时(
函数(){
dropSelect.classList.remove('pulse-on')
}, 1200
)
}, 2400);
defaultTokenModel.on(“更改:”+dropDownTyp.tokenName,函数(e){
中频(vfx){
清除间隔(vfx);
document.querySelector('#下拉箭头')。style.background=''
}
});
}否则{
dropSelect.setAttribute('value','')
dropSelect.classList.add('disable')
}
})
}
日志(“多少钱?”)
console.log(tempOutput)

我希望看到数组被打印一次,还有一次“多少?”

您给出的代码被包装在
函数中或其全局范围内。如果它在全局范围内,则不可能在一个函数中包装多个日志尝试在全局范围内声明
vfx
,并从内部删除
let
。还有一个解析错误,在末尾有一个额外的
}
。@MaheerAli没有。。这不是问题所在:(您给出的代码被包装在一个
函数或其在全局范围内。如果它在全局范围内,则不可能在一个函数内包装多个日志尝试在全局范围内声明
vfx
,并从内部删除
let
。此外,在最后还有一个分析错误
}
。@MaheerAl我不…这不是问题:(