【发布时间】:2019-04-03 15:48:14
【问题描述】:
Object.prototype.toString.call(fn) === '[object Function]'和typeof fn === 'function'在什么情况下会返回不同的结果?
我在mdn上看到了isCallable这个函数(见line 4 - line 7):
var isCallable = function (fn) {
var toStr = Object.prototype.toString
return typeof fn === 'function' || toStr.call(fn) === '[object Function]'
}
我想知道这两个测试之间的区别,其中一个是多余的吗?
【问题讨论】:
-
“这两个函数”我只看到一个函数。另外为了提高可读性,请不要在标题中放一半的问题。
-
@DanFromGermany 两个是
typeof fn === 'function'和toStr.call(fn) === '[object Function]',另外,编辑了标题,谢谢 -
我不知道这段代码应该做什么
标签: javascript