我有一个与jQuery.noop
,angular.noop
和goog.nullFunction
相同的功能:它什么都不做,返回未定义,但它以callback(successFn || noop);
的形式很方便
可以使用任意类型的任意数量的参数(0或更多)调用它。
这就是我目前的方式:
/**
* @param varArgs {...*}
*/
var noop = function(varArgs) {};
问题:在没有参数的情况下调用时,Google Closure Compiler给了我这个:
Function noop: called with 0 argument(s).
Function requires at least 1 argument(s) and no more than 1 argument(s).
有趣的是goog.nullFunction 是为Closure Compiler注释的,但是它的注释也存在缺陷,当它被一个或多个参数调用时会抛出错误:
Function noop: called with 1 argument(s).
Function requires at least 0 argument(s) and no more than 0 argument(s).
问题:如何正确注释我的noop
功能?
答案 0 :(得分:6)
从the documentation起,语法为:
/**
* @param {...*} varArgs
*/
首先输入变量类型,然后输入它的名称。在测试之后,您的示例确实会出错,但在使用正确的顺序时,它不会出现错误。