在underscore.js中,下面的代码好像加了_.isNumber()
// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.
each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {
_['is' + name] = function(obj) {
return toString.call(obj) == '[object ' + name + ']';
};
});
但肯定还有其他事情发生,因为将这段代码直接复制到 Firefox 会导致它作为toString.call(5)
返回失败[xpconnect wrapped native prototype]
——所以它显然在某处做了其他事情——但我不知道是什么。
以下是 Firefox 中的结果示例: