博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS浅谈Number数值转换
阅读量:6095 次
发布时间:2019-06-20

本文共 565 字,大约阅读时间需要 1 分钟。

Number()转换

转换结果

由以上结果可以看出,浏览器在解析Number()转换时遵循以下规则:

基本规则

  1. 如果被转换的是布尔值,true和false分别被转换为1和0两个数字。

  2. 如果被转换的是数值,则只是进行传入和返回。

  3. 如果被转换的是null,返回的是0.

  4. 如果被转换的是undefined,返回的是NaN。

字符串

  1. 字符串只包含数字(包含正负号),则将其转换为十进制数值。

  2. 字符串包含符合规则的浮点数字,则将其转换为对应的浮点数值。

  3. 字符串包含符合规则的十六进制格式,则将其转换为同等大小的十进制整数值。

  4. 字符串为空,则转换为0。

  5. 字符串中包含除以上规则外的字符,转换为NaN。

对象

对象的转换,会调用valueOf()方法,再用前面的规则返回相应的值。如果转换的结果是NaN,则可以调用toString()方法,然后再用前面的规则转换得到的字符串。

注:

如果转换的是Date对象返回的是此刻到1970年1月1日0点0分0秒0毫秒的毫秒数。

总结

Number()在进行数值转换时,转换规则很复杂,尤其对于字符串而言。

补充

在转换字符串为数值时常常使用parseInt()函数和parseFloat()函数,他们的规则相对于Number()更加简单,规则更加自由一些。

参考书籍

JavaScript 高级程序设计

转载地址:http://ydzza.baihongyu.com/

你可能感兴趣的文章
Hadoop集群搭建的无密登录配置
查看>>
angular使directive让div contenteditable & ng-model生效
查看>>
制作CentOS 6.4 U盘启动安装盘
查看>>
Java try、catch、finally及finally执行顺序详解
查看>>
children childNodes nodeType
查看>>
如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序
查看>>
固态硬盘价格大跳水,再不入手又要涨了!
查看>>
css隐形的空隙(inline的坑)
查看>>
深圳美景品牌策划机构:美景“快传播”赢得法国最大乳业合作社赞誉
查看>>
nginx服务
查看>>
Android中使用自定义的字体
查看>>
linux 中文件类型和颜色的区分
查看>>
cocosPods 常见使用步骤
查看>>
对你同样重要的非技术贴,8个方法让你的老板认可你
查看>>
MLP、RBF、SVM神经网络比较
查看>>
最常用的命令
查看>>
mysql数据库备份小记录
查看>>
WordPress 手机客户端生成系统 NextApp 配置指南
查看>>
字典 dict
查看>>
iOS 9 sdk bitcode
查看>>