toString和valueOf的区别

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

语法:objectname.toString([radix])

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

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

 

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

语法:object.valueOf( )

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

 

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

 

toString是把对象转换为字符串;
valueOf是把对象转换成一个基本数据的值

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

posted @ 2019-05-12 16:04  lzbixx  阅读(1811)  评论(0编辑  收藏  举报