docs: function typeOf(object) {
  	var result;
  
  	if (object === null) {
  		result = 'null';
  	} else if (_isArray(object)) {
  		result = 'array';
  	} else if (object !== object) {
  		result = 'NaN';
  	} else if (object === Infinity || object === -Infinity) {
  		result = 'Infinity';
  	} else if (object instanceof RegExp) {
  		result = 'regexp';
  	} else if (object instanceof Number) { // new Number
  		result = 'number';
  	} else if (object instanceof Boolean) { // new Boolean
  		result = 'boolean';
  	} else if (object instanceof String) { // new String
  		result = 'string';
  	} else {
  		result = typeof object;
  		if (result === 'number' && isNaN(object)) { // 以防有漏网之鱼
  			result = 'NaN';
  		}
  	}
  
  	return result;
  }