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 相关文章推荐
Opacity.js
Jan 22 Javascript
js 设置选中行的样式的实现代码
May 24 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
JavaScript中的this关键字使用方法总结
Mar 13 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
Aug 23 Javascript
js实现拖拽效果(构造函数)
Dec 14 Javascript
微信小程序 PHP生成带参数二维码
Feb 21 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
VSCode搭建Vue项目的方法
Apr 30 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 Javascript
重学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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
jQuery中removeData()方法用法实例
2014/12/27 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
Python中字符串对齐方法介绍
2015/05/21 Python
浅析Python编写函数装饰器
2016/03/18 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
财务管理专业应届毕业生求职信
2013/09/22 职场文书
秋天的雨教学反思
2014/04/27 职场文书
企业诚信承诺书
2014/05/23 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
大学生年度个人总结
2015/02/15 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
Python 如何安装Selenium
2021/05/06 Python