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编写的第一人称射击游戏
Feb 25 Javascript
HTML-CSS群中单选引发的“事件”
Mar 05 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
Oct 24 Javascript
JavaScript 中的日期和时间及表示标准介绍
Aug 21 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
May 29 Javascript
vue数据双向绑定原理解析(get & set)
Mar 08 Javascript
create-react-app安装出错问题解决方法
Sep 04 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
Apr 30 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
Sep 26 Javascript
浅谈es6中的元编程
Dec 01 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
PHP学习 运算符与运算符优先级
2008/06/15 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
在Python下尝试多线程编程
2015/04/28 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python编写Windows Service服务程序
2018/01/04 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
如何学习Python time模块
2020/06/03 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
Python用Jira库来操作Jira
2020/12/28 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
国情备忘录观后感
2015/06/04 职场文书
企业文化学习心得体会
2016/01/21 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
Java存储没有重复元素的数组
2022/04/29 Java/Android