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
转换日期对象
一元正号转换日期对象为数字,得到时间戳,比如如下代码:
+newDate();//1561020101609
相当于如下代码:
newDate().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
总结
一元正号运算符对于数字字符串和日期的转换比较适用。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。