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 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
jquery DOM操作 基于命令改变页面
May 06 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
去掉gridPanel表头全选框的小例子
Jul 18 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
Oct 10 Javascript
JS扩展方法实例分析
Apr 15 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
剖析Angular Component的源码示例
Mar 23 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 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
日本十大惊悚动漫
2020/03/04 日漫
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php实现word转html的方法
2016/01/22 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
python中去空格函数的用法
2014/08/21 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
校园之声广播稿
2014/01/31 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
2014年招商工作总结
2014/11/22 职场文书
2015年党性分析材料
2014/12/19 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS