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中链式调用之研习
Apr 07 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
jQuery选择器全面总结
Jan 06 Javascript
wap图片滚动特效无css3元素纯js脚本编写
Aug 22 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
js实现HTML中Select二级联动的实例
Jan 05 Javascript
详解react、redux、react-redux之间的关系
Apr 11 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 Javascript
Javascript类型判断相关例题及解析
Aug 26 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python进行数据科学工作的简单入门教程
2015/04/01 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python制作动态字符图的实例
2019/01/27 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Python安装whl文件过程图解
2020/02/18 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
Python调用JavaScript代码的方法
2020/10/27 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
计算机专业自我鉴定
2013/10/15 职场文书
生态学毕业生自荐信
2013/10/27 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书