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 相关文章推荐
js中关于new Object时传参的一些细节分析
Mar 13 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 Javascript
js中日期的加减法
May 06 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
微信小程序 底部导航栏目开发资料
Dec 05 Javascript
vue组件间通信解析
Mar 01 Javascript
微信小程序的tab选项卡的实现效果
May 15 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 Javascript
实用的 vue tags 创建缓存导航的过程实现
Dec 03 Vue.js
详解Vue的七种传值方式
Feb 08 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
截获网站title标签之家内容的例子
2006/10/09 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
PHP错误处理函数
2016/04/03 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
回顾Javascript React基础
2019/06/15 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
简单讲解Python中的闭包
2015/08/11 Python
python redis 删除key脚本的实例
2019/02/19 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
CSS3 边框效果
2019/11/04 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
结婚通知短信大全
2015/04/17 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
2016年教师新年寄语
2015/08/18 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python