首页 > 代码库 > Object.prototype.toString.call("abc")和"abc".toString()的值不一样

Object.prototype.toString.call("abc")和"abc".toString()的值不一样

Object.prototype.toString.call("abc")返回[object String], 因为这个toString方法并不知道传入参数的类型,所以会返回一个通用的结果,即传入参数的类型。

"abc".toString()返回abc,"abc"已经是String类型了,String.prototype.toString覆盖了默认的Object.prototype.toString方法,返回的是字符串内容。

类似的还有:

Array.prototype.toString,它返回的是用逗号分开的数组元素字符串,

Number.prototype.toString(radix), 返回A string representing the specified Number object.

 

Object.prototype.toString.call("abc")和"abc".toString()的值不一样