JavaScript一元正号运算符示例代码


Posted in Javascript onJune 30, 2019

本文适合JavaScript初学者。

一元正号介绍

一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。

转换字符串

一元正号可以用于转换数值字符串为数字,比如如下代码:

+ "123" // 123
+ "12.3" // 12.3

也可以转换二进制、16进制数值、自然底数的字符串:

+ "0x11" // 17
+ "0b11" // 3
+ "1e10" // 10000000000

看起来 和parseFloat功能类似,但是parseFloat支持字符串后面部分不为数字的情况,一元正号却不行,比如:

parseFloat("1px") // 1
+ "1px" // NaN

如果是空字符串或者多个空格组成的字符串,一元正号会转换为0,parseFloat 结果为NaN

+ ' ' // 0
parseFloat(' ') // NaN

负数形式字符串也可以转换成数值,但是对于十六进制 二进制不适用,对于自然底数适用(parseFloat 都适用):

+'-123' // 123
+ "-0x11" // NaN
+ "-0b11" // NaN
+ "-1e10" // -10000000000

转换日期对象

一元正号转换日期对象为数字,得到时间戳,比如如下代码:

+ new Date(); // 1561020101609

相当于如下代码:

new Date().getTime(); // 1561020101609

转换null、undefined、NaN

一元正号会把null转换为0,undefined 转换为NaN。一元正号施加于NaN,结果还是NaN。代码如下:

+ null // 0
+ undefined // NaN
+ NaN // NaN

转换布尔值
一元正号会把true 转换为1,false转换为0:

+ true;// 1
+ false;// 0

转换数组

一元正号会把空数组[],转换为0。如果数组只有一个元素,切第一个元素为数字或者字符串,会对第一个元素进行转换,如果有多个元素,返回NaN,代码如下:

+ []// 0
+ ['123'] // 123
+ [true] // NaN
+ [1,2] // NaN

总结

一元正号运算符对于数字字符串和日期的转换比较适用。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
根据地区不同显示时间的javascript代码
Aug 13 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
js断点调试心得分享(必看篇)
Dec 08 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
开发用到的js封装方法(20种)
Oct 12 Javascript
Vue使用NProgress的操作过程解析
Oct 10 Javascript
这15个Vue指令,让你的项目开发爽到爆
Oct 11 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
vue+echarts实现多条折线图
Mar 21 Vue.js
重学JS之显示强制类型转换详解
Jun 30 #Javascript
JavaScript判断浏览器运行环境的详细方法
Jun 30 #Javascript
微信小程序如何自定义table组件
Jun 29 #Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 #Javascript
微信小程序如何调用json数据接口并解析
Jun 29 #Javascript
pm2启动ssr失败的解决方法
Jun 29 #Javascript
localstorage实现带过期时间的缓存功能
Jun 28 #Javascript
You might like
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
年终工作总结范文2014
2014/11/27 职场文书
入党心得体会
2019/06/20 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android