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 相关文章推荐
利用jquery的获取JS文件中的字符串内容
Feb 14 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
无限树Jquery插件zTree的常用功能特性总结
Sep 11 Javascript
JavaScript中的原型链prototype介绍
Dec 30 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 Javascript
vue移动端路由切换实例分析
May 14 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 Javascript
vue el-table实现自定义表头
Dec 11 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 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
是否存在第一台收音机的说法
2021/03/01 无线电
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
解析php开发中的中文编码问题
2013/08/08 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
原生js实现分页效果
2020/09/23 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
详解Python进程间通信之命名管道
2017/08/28 Python
python sys.argv[]用法实例详解
2018/05/25 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
关于windows下Tensorflow和pytorch安装教程
2020/02/04 Python
python中可以声明变量类型吗
2020/06/18 Python
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
年检委托书
2014/08/30 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python