JavaScript(_. isFunction)代码优化

时间:2014-05-13 10:39:34

标签: javascript function underscore.js

我需要检查一个js对象,如果它是一个函数,我认为这个代码应该这样做:

typeof param === 'function'

然后我认为使用_.isFunction源代码进行检查将是一个很好的想法。

下划线下面的if包围了// Optimize `isFunction` if appropriate. if (typeof (/./) !== 'function') { .. } ,我不确定究竟是什么意思或者意思。如果有人可以解释这将是伟大的。感谢

{{1}}

1 个答案:

答案 0 :(得分:5)

在V8的某些旧版本中,正则表达式对象的类型为"function"(最初,正则表达式对象可以作为函数调用,即使没有人使用该功能)。

这就是为什么无法使用typeof param === 'function'检查值是否为函数的原因。

现在情况并非如此。使用typeof,而非_.isFunction,此代码已过时。