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 相关文章推荐
js资料prototype 属性
Mar 13 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
May 13 Javascript
jQuery Jcrop插件实现图片选取功能
Nov 23 Javascript
js 3秒后跳转页面的实现代码
Mar 10 Javascript
JavaScript中的条件判断语句使用详解
Jun 03 Javascript
js+css简单实现网页换肤效果
Dec 29 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 Javascript
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
分享3个php获取日历的函数
2015/09/25 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
jQuery拖拽 & 弹出层 介绍与示例
2013/12/27 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python求解平方根的方法
2015/03/11 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python中的Django基本命令实例详解
2018/07/15 Python
python变量的存储原理详解
2019/07/10 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
Python中Selenium库使用教程详解
2020/07/23 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
行政助理的岗位职责
2014/02/18 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技