在Underscore.js(定义的存储库链接)中,
我困惑的是在字符串比较后为什么需要
注释说明这个覆盖修复了一些
isFunction(object)
的可选覆盖如下所示:// Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
// IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).
var nodelist = root.document && root.document.childNodes;
if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {
_.isFunction = function(obj) {
return typeof obj == 'function' || false;
};
}
我困惑的是在字符串比较后为什么需要
|| false
。由于 typeof
总是返回一个字符串,所以不应该有任何歧义。注释说明这个覆盖修复了一些
typeof
的错误,是否存在在列出的平台上 typeof
不返回字符串的情况?