Javascript 中关于对象转换数字值的一些特点-阿里云开发者社区

开发者社区> 亦才> 正文

Javascript 中关于对象转换数字值的一些特点

简介:
+关注继续查看

下面是摘至<Javascript 高级程序设计第三版>里的一段话

是关于对象转换数字值的一些规则

"在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值。然后对该值应用前述规则。如果结果是NaN,则在调用toString()方法后再应用前述规则...."

通过上面的描述,我们知道,当需要把对象转换成数字值时,先调用valueOf方法,假如返回NaN,则再调用对象的toString方法。

所以写了下面的测试代码.

var a={
    valueOf:function(){
        return "admin";
    },
    toString:function(){
        return "2";
    }
}

var b={
    toString:function(){
        return "2";
    }
}

var c={
    valueOf:function(){
        return "4";
    }
}

console.log(+a); // print NaN
console.log(+b); // print 2
console.log(+c); // print 4

经测试发现,当valueOf和toString方法同时存在的时候,只会按valueOf的返回值来转换数字值,哪怕toString方法可以返回数字,结果也是NaN.

测试的浏览器信息为

Google Chrome   31.0.1650.63 (正式版本 238485) m
操作系统        Windows 
Blink           537.36 (@163124)
JavaScript      V8 3.21.18.13

不知道这是不是chrome的一个改进,还是什么,特记录下来,方便给别人参考。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在SQL service或Oracle中将数字转换成有千位符号
1、在SQL service中的写法: 1 --Function主体 2 CREATE FUNCTION [dbo].[FnMoneyStyle](@Number float,@strType char(1)) 3 RETURNS VARCHAR(100) 4 AS 5 BE...
971 0
javascript 数字进制转换
//十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); //其他转十进制 var x='110'; alert(parseInt...
407 0
javascript使用栈结构将中缀表达式转换为后缀表达式并计算值
1.概念   你可能听说过表达式,a+b,a+b*c这些,但是前缀表达式,前缀记法,中缀表达式,波兰式,后缀表达式,后缀记法,逆波兰式这些都是也是表达式。   a+b,a+b*c这些看上去比较正常的是中缀表达式,就是运算符放在两个操作数之间。
1113 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8448 0
自己对WEBGL坐标系的转换过程的理解【如图】
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/78469564 ...
1029 0
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一、json相关概念 二、json字符串转换成json对象 (字符串-->JSON对象) 三、json对象转换成字符串(json对象-->字符串) 四、将值转换成字符串(值-->字符串) 五、字符串转成值(字符串-->值)   同步的交流学习社区:http://www.mwcxs.top/page/425.html 一、json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式。
5770 0
+关注
77
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载