title: how does .isNumber work in underscore.js?
body: <p>In underscore.js, the following code seems to add _.isNumber() </p>
  
  <pre><code>  // 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 + ']';
      };
    });
  </code></pre>
  
  <p>but there must be something else going on, because copying this code straight into firefox causes it to fail as <code>toString.call(5)</code> returns <code>[xpconnect wrapped native prototype]</code> -- so its obviously doing something else somewhere - but I can't figure out what.</p>
  
  <p>Here's an example of the results in firefox:</p>
  
  <p><a href="http://jsbin.com/uviyaz/2/edit" rel="nofollow">http://jsbin.com/uviyaz/2/edit</a></p>