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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
SyntaxHighlighter代码加色使用方法
Sep 07 Javascript
nw.js实现类似微信的聊天软件
Mar 16 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
深入理解 JS 垃圾回收
Jun 03 Javascript
Javascript原生ajax请求代码实例
Feb 20 Javascript
js+canvas实现画板功能
Sep 13 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 Javascript
vue 给数组添加新对象并赋值
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
如何过滤高亮显示非法字符
2006/10/09 PHP
phpmyadmin的#1251问题
2006/11/25 PHP
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
jquery实现图片放大镜效果
2020/12/23 jQuery
Python实现的彩票机选器实例
2015/06/17 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
Delphi工程师笔试题
2013/09/21 面试题
优秀团员事迹材料
2014/12/25 职场文书
发布会邀请函
2015/01/31 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript