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 29 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
Apr 12 Javascript
javascript window对象属性整理
Oct 24 Javascript
jQueryUI的Dialog的简单封装
Jun 07 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
JavaScript之数组扁平化详解
Jun 03 Javascript
微信小程序实现多图上传
Jun 19 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
杏林同学录(一)
2006/10/09 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
javascript中的new使用
2010/03/20 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
python计算书页码的统计数字问题实例
2014/09/26 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
python中私有函数调用方法解密
2016/04/29 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python+tkinter实现学生管理系统
2019/08/20 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
庆元旦文艺演出主持词
2014/03/27 职场文书
2014年工会工作总结
2014/11/12 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle
使用Apache Camel表达REST服务的方法
2022/06/10 Servers