在Javascript中嵌套调用函数

时间:2014-03-21 15:12:08

标签: javascript intellij-idea

当我写这样的Javascript时,Intellij IDEA会显示警告:

someFunction(someOtherFunction());

但是解释并没有多大帮助:

  

“此检查报告任何用作的Javascript函数调用   另一个函数调用的参数。“

这是我经常做的事情,那么隐藏在哪里的潜在陷阱值得警告?或者,如果它只是一些编码惯例,它的原因是什么?

1 个答案:

答案 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;
}

它会发出警告,因为这对新开发者来说是一个常见的错误。