当我写这样的Javascript时,Intellij IDEA会显示警告:
someFunction(someOtherFunction());
但是解释并没有多大帮助:
“此检查报告任何用作的Javascript函数调用 另一个函数调用的参数。“
这是我经常做的事情,那么隐藏在哪里的潜在陷阱值得警告?或者,如果它只是一些编码惯例,它的原因是什么?
答案 0 :(得分:2)
这是一个警告,因为大多数情况下,您希望将函数引用作为参数传递。它主要用作回调:
someFunction(someOtherFunction);
function someFunction(fn){
fn.call();
}
在该示例中,someOtherFunction()
而不是someOtherFunction
将无法正常工作(除非someOtherFunction
返回函数本身)。
someFunction(someOtherFunction());
更像是一个吸气剂。
someFunction(someOtherFunction());
function someFunction(int){
alert(int === 1);//True;
}
function someOtherFunction(){
return 1;
}
它会发出警告,因为这对新开发者来说是一个常见的错误。