js中toString和valueOf的区别

JavaScript029

js中toString和valueOf的区别,第1张

toString:返回对象的字符串表示形式。

语法:objectname.toString([radix])

objectname要为其搜索字符串表示形式的对象。

radix可选,为将数字值转换为字符串指定一个基数。  此值仅用于数字。

     toString 方法是一个所有内置的 JavaScript 对象的成员。  它的行为取决于对象的类型:

2.valueOf:返回指定对象的基元值。

语法:object.valueOf( )

object 引用是任何内部 JavaScript 对象,将通过不同的方式为每个内部 JavaScript 对象定义 valueOf 方法。Math 和 Error 对象都没有 valueOf 方法。

总结:toString主要是把对象转换为字符串,而valueOf主要把对象转换成一个基本数据的值这就是他们之间最基本的区别。

js数组使用JSON.stringify和toString的区别如下:

1、JSON.stringify()是json对象的一个方法,它可以把对象序列化成json字符串。

toString是一个js对象的方法,任何对象都会继承这个方法,也就是Object.prototype.toString(),返回值类型为:[object Object]

2、用法上的区别举例:

比如定义:obj =[1,2,3]

那么用toString的结果是"1,2,3",用JSON.stringify()的结果是"[1,2,3]"

二者处理后的结果是不同的。

valueOf偏向于运算,toString偏向于显示。<br>1、 在进行对象转换时(例如:alert(a)),将优先调用toString方法,如若没有重写toString将调用valueOf方法,如果两方法都不没有重写,但按Object的toString输出。<br>2、 在进行强转字符串类型时将优先调用toString方法,强转为数字时优先调用valueOf。<br>3、 在有运算操作符的情况下,valueOf的优先级高于toString。