欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

JS中的 toString 和 valueOf 方法,tostringvalueof

来源: javaer 分享于  点击 7358 次 点评:205

JS中的 toString 和 valueOf 方法,tostringvalueof


1.存在环境

所有的对象都继承了这两个方法,甚至于包装对象Number、String和Boolean。

2.具体细节

对于不同类型的对象,js定义了多个版本的 toString 和 valueOf 方法
toString:
(1)普通对象,返回 "[object Object]";
(2)数组,返回数组元素之间添加逗号合并成的字符串;
(3)函数,返回函数的定义式的字符串;
(4)日期对象,返回一个可读的日期和时间字符串;
(5)正则,返回其字面量表达式构成的字符串;
valueOf:
(1)日期对象,返回自1970年1月1日到现在的毫秒数;
(2)其它均返回对象本身;

3.应用场景——类型转换

对象=>字符串
(1)执行toString,如果返回了一个原始值,则将其转化为字符串
(2)否则执行valueOf方法,如果返回了一个原始值,则将其转化为字符串
(3)否则抛出类型错误
对象=>数字
(1)执行valueOf,如果返回了一个原始值,如果需要,则将其转化为数字
(2)否则执行toString,如果返回了一个原始值,则将其转化为数字并返回
(3)否则抛出类型错误

4.类型转换与关系操作符(>、<等,不包括===和!==)

- 两个都是数值,则比较数值
- 两个都是字符串,则比较字符编码值
- 其中一个是数值,则要把另个转化成数值进行比较
- 如果其中一个是对象,则调用valueOf,若没有返回原始值则调用toString,再进行前面的比较
- 如果有一个是布尔值,则将其转化成数值

注:日期对象只调用toString,不会调用valueOf方法

相关文章

    暂无相关文章

用户点评