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 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
jQuery编写widget的一些技巧分享
Oct 28 Javascript
简单易用的倒计时js代码
Aug 04 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
理解javascript定时器中的单线程
Feb 23 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
Javascript继承机制详解
May 30 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
seajs中最常用的7个功能、配置示例
Oct 10 Javascript
vue keep-alive请求数据的方法示例
May 16 Javascript
js实现的在本地预览图片功能示例
Nov 09 Javascript
taro小程序添加骨架屏的实现代码
Nov 15 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
AngularJS HTML编译器介绍
2014/12/06 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Python脚本实现下载合并SAE日志
2015/02/10 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
django Serializer序列化使用方法详解
2018/10/16 Python
python微信好友数据分析详解
2018/11/19 Python
学习Django知识点分享
2019/09/11 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
请用用Java代码写一个堆栈
2012/01/26 面试题
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
商场促销活动方案
2014/02/08 职场文书
年会搞笑主持词
2014/03/27 职场文书
红头文件任命书范本
2014/06/05 职场文书
小学校长汇报材料
2014/08/20 职场文书
六五普法宣传标语
2014/10/06 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
经理聘任证明
2015/03/02 职场文书
入党转正申请书范文
2019/05/20 职场文书