javascript 语法问题

javascript syntax questioon

假设我有以下代码:

function c (f,i) {
  let x = i;
  if (f(x,i)){
     x--;
  }
  if (f(x,2)) {
     console.log(1);
  }
  else {
     console.log(2);
  }
}

if 语句中究竟发生了什么,我不明白其背后的语法。 f 不是函数,它是一个变量,那么这里发生了什么?它等于 f * ( x * i) 吗?此语法背后的操作数是什么。 提前致谢

一个变量也可以包含一个函数。可以这样调用 c

c(function(x, i) {/* do some check with x and i */}, 10);

在 if 语句中,调用您传递的函数进行检查。像这样的函数称为回调函数。您必须像上面的示例一样将它传递给 c 函数。因此,如果您调用 c,您还可以确定 c 所做的检查是如何完成的。