【发布时间】:2020-12-30 13:22:09
【问题描述】:
假设我有以下代码:
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) 吗?这种语法背后的操作数是什么。 提前致谢
【问题讨论】:
-
“f 不是函数,它是一个变量”——两者并不排斥。事实上,
f(x,i)是一个调用表达式,所以除非f是一个函数,否则这会抛出。 -
实际上,我假设
f是一个函数。您可以将函数传递给javascript中的其他函数 -
如果'f'不是函数,你的代码是错误的,你会收到错误'Uncaught TypeError: f is not a function';如果您需要将“f”作为参数函数传递,请查看@edwin 建议。
标签: javascript if-statement syntax