0

FirstOfAll 请帮助我提供 valueOf 方法在不同对象中的工作信息。

String.prototype.valueOf和 方法之间有区别吗Object.prototype.valueOf,如果有区别为什么看不到。因为Object.prototype.valueOf.call("maizere")这里的 valueOf 是Object.prototypenot的方法,String.protototype但它输出的是字符串而不是[object String]。它不应该输出[object String]吗?看起来好像 valueOf 方法属于,String.prototype因为它输出字符串。谢谢你的帮助

4

1 回答 1

1

这里的主要区别在于字符串和字符串对象之间:

> typeof String('foo')
"string"
> typeof new String('foo')
"object"
> "foo" === String('foo')
true
> "foo" === new String('foo')
false
> String.prototype.valueOf.call("maizere")
"maizere"
> Object.prototype.valueOf.call("maizere")
String {0: "m", 1: "a", 2: "i", 3: "z", 4: "e", 5: "r", 6: "e", format: function, truncate: function, splitOnLast: function, contains: function}

String'valueOf返回一个字符串,Object'valueOf返回一个对象,在本例中是一个字符串对象。他们不是一回事。

于 2013-05-15T18:18:15.533 回答