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自动填充勾选框即把勾选框打上true
Mar 24 Javascript
jquery查找tr td 示例模拟
May 08 Javascript
JavaScript中的类(Class)详细介绍
Dec 30 Javascript
基于JavaScript实现简单的随机抽奖小程序
Jan 05 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
May 02 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 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
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
wxPython实现文本框基础组件
2019/11/18 Python
使用python实现飞机大战游戏
2020/03/23 Python
django项目中新增app的2种实现方法
2020/04/01 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
旅游管理毕业生自荐信
2013/11/05 职场文书
学生周末长期请假条
2014/02/15 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
考试作弊检讨书
2015/01/27 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL