Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Undefined不是每个循环的函数_Javascript_Function_Foreach - Fatal编程技术网

Javascript Undefined不是每个循环的函数

Javascript Undefined不是每个循环的函数,javascript,function,foreach,Javascript,Function,Foreach,我希望为数组中的每个项运行一个函数。数组每次都不同,但为此,我将使用一个示例数组。它一直在说undefined不是一个函数,我假设undefined是foreachfunction。解决这个问题的办法是什么 const bar1beats = [0.5, 1, 2.5] generate.addEventListener('click', generateclick) function generateclick(){ // error line bar1beats.forEach(f

我希望为数组中的每个项运行一个函数。数组每次都不同,但为此,我将使用一个示例数组。它一直在说undefined不是一个函数,我假设undefined是foreachfunction。解决这个问题的办法是什么

const bar1beats = [0.5, 1, 2.5]
generate.addEventListener('click', generateclick)


function generateclick(){

// error line
  bar1beats.forEach(foreachfunction());

    function foreachfunction(item, index){

    let interval = intervals[Math.floor(Math.random() * intervals.length)]
    interval();
    if(interval == fifthfunction){
    findnotefifth()
    }
    if(interval == fourthfunction){
    findnotefourth()
    }

}

你基本上是在给forEach
未定义的
而不是你的函数。正如您所说,什么将传递
foreachfunction
的返回值

要修复此问题,请删除括号:


函数generateclick(){
//注:我删除了括号。
bar1beats.forEach(foreachfunction);
功能foreachfunction(项目、索引){
let interval=interval[Math.floor(Math.random()*interval.length)]
间隔();
if(间隔==第五个函数){
Findnotefth()
}
if(间隔==fourthfunction){
FindNotefirth()
}
}

不调用函数?为什么不直接传入它?
bar1beats.forEach(foreachfunction);
“我假设未定义的是foreachfunction”-这很容易通过一些基本调试进行检查,并且应该在询问我们之前完成。看起来您已经知道解决方案,因为它与中的相同:
。addEventListener('click',generateclick)