JavaScript中的object转换函数toString()与valueOf()介绍


Posted in Javascript onDecember 31, 2014

JavaScript中,object转换为boolean的操作非常简单:所有的object转换成boolean后均为true;即使是new Boolean(false)这样的object在转换为boolean后仍然为true。

var x = new Boolean(false);

if(x){

  console.log("x is true");

}

在将object转换为string或者number时,JavaScript会调用object的两个转换函数:toString()与valueOf()。

toString()

toString()函数的作用是返回object的字符串表示,JavaScript中object默认的toString()方法返回字符串”[object Object]“。定义类时可以实现新的toString()方法,从而返回更加具有可读性的结果。JavaScript对于数组对象、函数对象、正则表达式对象以及Date日期对象均定义了更加具有可读性的toString()方法:

1.array的toString()方法将返回以逗号分隔的数组成员。比如,[1,2,3].toString()会返回字符串”1,2,3″。

2.function的toString()方法将返回函数的文本定义。比如,(function(x){return x*2;}).toString()会返回字符串”function(x){return x*2;}”。

3.RegExp的toString()方法与function的toString()方法类似,将返回正则表达式的文本定义。比如,/\d+/g.toString()会返回字符串”/\\d+/g”。

4.Date的toString()方法将返回一个具有可读性的日期时间字符串。

valueOf()

valueOf()函数的作用是返回object的数值表示,JavaScript中object默认的valueOf()方法会返回该object自身。与toString()一样,定义类时可以实现新的valueOf()方法,从而返回需要的结果。JavaScript对于Date对象定义了更加具有可读性的valueOf()方法:

1.Date的valueOf()方法将返回一个数值,该数值为Date对象与1970年1月1日零时的时间差(以毫秒为单位)。

Javascript 相关文章推荐
javascript innerText和innerHtml应用
Jan 28 Javascript
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
Javascript之面向对象--封装
Dec 02 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
May 27 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
一文了解Vue中的nextTick
May 06 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
Aug 10 Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
nuxt 实现在其它js文件中使用store的方式
Nov 05 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 #Javascript
javascript 事件处理示例分享
Dec 31 #Javascript
JavaScript中的变量作用域介绍
Dec 31 #Javascript
JavaScript中的变量定义与储存介绍
Dec 31 #Javascript
JavaScript中的操作符==与===介绍
Dec 31 #Javascript
jQuery中[attribute]选择器用法实例
Dec 31 #Javascript
JavaScript中的比较操作符>、=、
Dec 31 #Javascript
You might like
PHP如何利用P3P实现跨域
2013/08/24 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[00:10]神之谴戒
2019/03/06 DOTA
PyCharm代码格式调整方法
2018/05/23 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
python代码如何注释
2020/06/01 Python
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
什么是组件架构
2016/05/15 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
英文简历中的自荐信范文
2013/12/14 职场文书
理工科学生的自我评价
2013/12/15 职场文书
公司合作意向书范文
2014/07/30 职场文书
工厂标语大全
2014/10/06 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python
基于Python实现射击小游戏的制作
2022/04/06 Python