我需要检查一个js对象是否是一个函数,我认为这段代码应该做到这一点:
typeof param === 'function'
然后我认为使用_.isFunction源代码进行检查将是一个很好的想法。

下划线在上面的检查周围包裹了下面的if,我不确定这到底是什么意思。如果有人可以解释,那就太好了。谢谢

// Optimize `isFunction` if appropriate.
if (typeof (/./) !== 'function') {
   ..
}

最佳答案

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

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

现在不是这种情况。使用typeof而不是_.isFunction,此代码已过时。

10-08 17:16