首先,toString()是Object的方法,不过后面的number,string大都改写了这个方法
从Object.prototype.toString()开始
每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString()
返回 “[object type]”,其中type是对象的类型。
判断数据类型,返回的是字符串
var toString = Object.prototype.toString;
toString.call(new Date); // [object Date]
toString.call('1'); // [object String]
toString.call(Math); // [object Math]
toString.call(1); // [object Number]
//Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
然后是Number.prototype.toString()
语法: numObj.toString([radix]) radix 指定要用于数字到字符串的转换的基数(从2到36)。如果未指定
radix 参数,则默认值为 10 Number 对象覆盖了 Object 对象上的 toString() 方法,它不是继承的
Object.prototype.toString() 进行数字到字符串的转换时,建议用小括号将要转换的目标括起来,防止出错。
eg: (10).toString();