JS中 toString() & valueOf()
来源:互联网 发布:windows rt升级win10 编辑:程序博客网 时间:2024/05/21 09:56
数据的转换
所有对象继承了两个转换方法:
第一个是toString(),它的作用是返回一个反映这个对象的字符串
第二个是valueOf(),它的作用是返回它相应的原始值
toString()
toString()可以看做是把一个数据转换成了相应字符串的形式,安照这个转换规则中
使用样例:
//返回相应的字符串 console.log( ({x:1, y:1 }).toString() ); // [object Object]console.log([1,2,3].toString()); // 1,2,3console.log((function(x){f(x); }).toString()); //function (x){f(x); }console.log(/\d+/g.toString()); // /\d+/gconsole.log(new Date(2015,4,4).toString()); // Mon May 04 2015 00:00:00 GMT+0800console.log(new Date(2015,4,4).valueOf()); // 1430668800000
valueOf()
每个JavaScript固有对象的 valueOf 方法定义不同。
对象返回值Array数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与 Array.toString 和 Array.join 方法相同。BooleanBoolean 值。Date存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。Function函数本身。Number数字值。Object对象本身。这是默认情况。String字符串值。Math 和 Error 对象没有 valueOf 方法。
------------------------------------------------------------------------------------------------------------------------------
一般来说,对象到字符串的转换经过了如下步骤:
1.如果对象具有toString()方法,则调用这个方法。如果它返回一个原始值,js将这个值转换成字符串,并返还这个字符串结果。
2.如果对象没有toString()方法,或者这个方法并不返回一个原始值,那么js将调用valueOf()方法。
3.否则,js无法从toString()或者valueOf()获得一个原始值,因此这时它将抛出一个类型错误异常。
一般来说,对象到数字的转换过程中,js做了同样类似的事情,但这里它会首先尝试使用valueOf()方法:
1.如果对象具有valueOf()方法,后者返回一个原始值,则js将这个原始值转换成数字,并返回这个数字。
2.否则,如果对象具有toString()方法,后者返回一个原始值,则js将转换并返回。
(首先js转换成相应的字符串原始值,再继续将这个原始值转换成相应的数字类型,再返回数字)
3.否则,js抛出一个类型错误异常。
对象通过toString或valueOf方法转换为原始值,JS语言核心的内置类首先尝试使用valueOf(),再尝试使用toString()
- JS中 toString() & valueOf()
- JS 中toString()和valueOf()的区别
- js中toString、toLocaleString、valueOf函数区别
- js的 valueOf & toString
- 【JS】类型转换 Object->valueOf()->toString()
- JS中的 toString 和 valueOf 方法
- js toString()、toLocaleString()、valueOf()的区别
- valueOf && toString
- toString & valueOf
- js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
- Javascript中valueOf()和toString()的区别
- Javascript中valueOf与toString区别
- Javascript中valueOf与toString区别浅析
- Javascript中valueOf与toString区别
- Java中 obj.toString()和String.valueof()
- Javascript中valueOf与toString区别
- Integer中parseInt(),valueOf(),toString()的区别
- JavaScript中valueOf 、toString 、toLocalString的区别
- POJ
- mongoDB导出数据库所有集合内容到json文件
- POJ
- 将jar包安装到本地仓库
- JavaScript HTML DOM 添加和删除节点(HTML 元素)
- JS中 toString() & valueOf()
- Lucene6.5.0 下中文分词IKAnalyzer编译和使用
- windows系统部署安装vue.js的详细步骤
- 栈和队列——用栈来求解汉诺塔问题(非递归)(java实现)
- Hdu 2082 找单词(DP)
- vue图片懒加载
- HBase 常用Shell命令
- 解决使用sudo提示用户不在sudoers文件中
- 在JavaConfig的SpringMVC项目中如何重定向404页面