我想知道一个函数是否没有操作。我正在寻找诸如angular.isNoop()之类的内置方法,但找不到任何东西。有什么可以区分noop的吗?
最佳答案
noop只是一个不包含任何操作的函数。您可以使用===
测试特定的noop功能
例如;
console.log(x === angular.noop);
如果从Angular分配了
x
,则将输出true,但是如果x
使用的是jQuery的noop,则将无法打印。检查变量是否看起来像noop。您只需要查看函数字符串是否以
{}
结尾。您可以尝试这样的事情。console.log(angular.isFunction(x) && /\{\}$/.test(x.toString()));
上面的代码即使在代码最小化的情况下也应该起作用。