JavaScript 一元正号运算符
栏目: JavaScript · 发布时间: 5年前
内容简介:本文适合JavaScript初学者。一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。一元正号可以用于转换数值字符串为数字,比如如下代码:
本文适合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
总结
一元正号运算符对于数字字符串和日期的转换比较适用。
欢迎关注公众号“ITman彪叔”。彪叔,拥有10多年开发经验,现任公司系统架构师、技术总监、技术培训师、职业规划师。熟悉 Java 、JavaScript。在计算机图形学、WebGL、前端可视化方面有深入研究。对程序员思维能力训练和培训、程序员职业规划和 程序员 理财投资有浓厚兴趣。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- ES6—扩展运算符和rest运算符(6)
- C/C++三元运算符实际上是否具有与赋值运算符相同的优先级?
- Python 运算符
- Python算术运算符
- 004.Python运算符
- JavaScript③运算符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PYTHON3:数据分析与机器学习实战
龙马高新教育 / 北京大学出版社 / 2018-9-1 / 69.00
机器学习(Machine Learning, ML)是一门多领域交叉学科,是人工智能的核心,其应用遍及人工智能的各个领域,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。在机器学习过程中,需要使用大量数据,而数据分析是指用适当的方法对收集的大量数据进行分析,提取有用信息并形成结论,进而对数据加以详细研究和概括总结的过程。本书结合机器学......一起来看看 《PYTHON3:数据分析与机器学习实战》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
html转js在线工具
html转js在线工具