JS中的 toString 和 valueOf 方法
2015-10-31 16:23
716 查看
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方法
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- c#入门之类型转换详解
- 爆炸式的JS圆形浮动菜单特效代码
- C#难点逐个击破(9):类型转换
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表
- C++中4种类型转换方式 cast操作详解
- C++中的四种类型转换