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的作用域和块级作用域概念理解
Sep 21 Javascript
Javascript基础知识(一)核心基础语法与事件模型
Sep 29 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
基于Bootstrap+jQuery.validate实现表单验证
May 30 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
微信小程序 扎金花简单实例
Feb 21 Javascript
js实现关闭网页出现是否离开提示
Dec 07 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
详解vue组件中使用路由方法
Feb 12 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 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中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
微信自定义分享php代码分析
2016/11/24 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
课外活动总结
2015/02/04 职场文书
网络销售员岗位职责
2015/04/11 职场文书
员工加薪申请报告
2015/05/15 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android