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 相关文章推荐
了解jQuery技巧来提高你的代码
Jan 08 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
jquery封装的对话框简单实现
Jul 21 Javascript
jquery中选择块并改变属性值的方法
Jul 31 Javascript
Jquery基础教程之DOM操作
Aug 19 Javascript
jQuery实现的简单百分比进度条效果示例
Aug 01 Javascript
JS中数组重排序方法
Nov 11 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
Angular2数据绑定详解
Apr 18 Javascript
node前端模板引擎Jade之标签的基本写法
May 11 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
Oct 30 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之sprintf函数用法详解
2014/11/12 PHP
Date对象格式化函数代码
2010/07/17 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python GUI实例学习
2017/11/21 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python 字符串和整数的转换方法
2018/06/25 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python中类与对象之间的关系详解
2020/12/16 Python
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
护理见习报告范文
2014/11/03 职场文书
演讲比赛主持词
2015/06/29 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏