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 相关文章推荐
跨域表单提交状态的变相判断代码
Nov 12 Javascript
javascript贪吃蛇完整版(源码)
Dec 09 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
什么是cookie?js手动创建和存储cookie
May 27 Javascript
javascript 操作符(~、&、|、^、)使用案例
Dec 31 Javascript
javascript中setTimeout使用指南
Jul 26 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
js实现移动端编辑添加地址【模仿京东】
Apr 28 Javascript
Vue验证码60秒倒计时功能简单实例代码
Jun 22 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
Feb 12 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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
js tab效果的实现代码
2009/12/26 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
通过循环优化 JavaScript 程序
2019/06/24 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
python使用matplotlib绘制柱状图教程
2017/02/08 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
管理学院毕业生自荐信范文
2014/03/10 职场文书
社区春季防火方案
2014/06/02 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
医生个人年终总结
2015/02/28 职场文书
小学运动会开幕词
2016/03/04 职场文书
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android