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 相关文章推荐
innerText和innerHTML 一些问题分析
May 18 Javascript
window.location.hash 使用说明
Nov 08 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
详解Bootstrap按钮
Jan 04 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
jQuery表格插件datatables用法汇总
Mar 29 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
关于JS模块化的知识点分享
Oct 16 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
Apr 08 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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
IE8 原生JSON支持
2009/04/13 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python列表解析操作实例总结
2020/02/26 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
业务主管岗位职责
2013/11/20 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
个人优缺点总结
2015/02/28 职场文书
小学教师读书笔记
2015/07/01 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android