valueOf和toString的区别

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了valueOf和toString的区别相关的知识,希望对你有一定的参考价值。

valueOf和toString的区别

这两个方法有意思的地方在于什么时候使用,总结如下:

  1. valueOf()偏向于运算,toString()偏向于显示
  2. 对象转换时,优先调用toString()
  3. 强转字符串的情况下,优先调用toString()方法;强转数字的情况下优先调用valueOf()
  4. 正常情况下,优先调用toString()
  5. 在有运算操作符的情况下valueOf()的优先级高于toString(),这里需要注意的是当调用valueOf()方法无法运算后还是会再调用toString()方法

调用valueOf()

对象返回值类型
Array数组本身Array
BooleanBoolean 值。Boolean
Date存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。Number
Function函数本身。Function
Number数字值。Number
Object对象本身。这是默认情况。Object
String字符串String

调用toString()

对象返回值类型
Array数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与 Array.toString 和 Array.join 方法相同。String
Boolean字符串“true”,“false”String
Date字符串日期,如"Fri Dec 23 2016 11:24:47 GMT+0800 (中国标准时间)"String
Function函数字符串String
Number字符串形式值String
Object“[object Object]”String
String字符串String

以上是关于valueOf和toString的区别的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中valueOf与toString区别

Javascript中的toString和valueOf的区别

js中toString和valueOf的区别

js中的object对象toString和valueOf的区别

toString与valueOf区别

Java中区别.toString() ,(String),valueOf()方法