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 24 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
jquery Validation表单验证使用详解
Sep 12 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
May 15 Javascript
详解vue 组件注册
Nov 20 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
笑谈配置,使用Smarty技术
2007/01/04 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
php分页函数完整实例代码
2014/09/22 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
判断用户是否在线的代码
2011/03/05 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
javascript轮播图算法
2016/10/21 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
python三元运算符实现方法
2013/12/17 Python
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python rsa 加密解密
2017/03/20 Python
python实现屏保计时器的示例代码
2018/08/08 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
公务员总结性个人自我评价
2013/12/05 职场文书
护士辞职信范文
2014/01/19 职场文书
2015中秋祝酒词
2015/08/12 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS