`
flyfox1982
  • 浏览: 82761 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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 // 0undefined // NaNNaN // NaN

转换布尔值

一元正号会把true 转换为1,false转换为0:

true;// 1false;// 0

转换数组

一元正号会把空数组[],转换为0。如果数组只有一个元素,切第一个元素为数字或者字符串,会对第一个元素进行转换,如果有多个元素,返回NaN,代码如下:

+ []// 0
+ ['123'// 123
+ [true// NaN
+ [1,2// NaN

总结

一元正号运算符对于数字字符串和日期的转换比较适用。

欢迎关注公众号“ITman彪叔”。彪叔,拥有10多年开发经验,现任公司系统架构师、技术总监、技术培训师、职业规划师。熟悉Java、JavaScript。在计算机图形学、WebGL、前端可视化方面有深入研究。对程序员思维能力训练和培训、程序员职业规划和程序员理财投资有浓厚兴趣。

ITman彪叔公众号ITman彪叔公众号

0
0
分享到:
评论

相关推荐

    JavaScript一元正号运算符示例代码

    JavaScript中的“一元正号运算符”(+)是一个简单的但功能强大的运算符,它可以用于提升操作数的数值,特别是当处理数据类型转换时。在本文中,我们将深入探讨一元正号运算符的工作原理,以及它如何在不同场景下...

    小白学JavaScript的第四天

    一元运算符则有正号(+)和负号(-),以及用于变量自增(++)和自减(--)的前缀和后缀形式。在自增自减运算符中,如果单独使用,则前缀和后缀形式结果相同;如果参与其他运算,则先进行自增自减,再进行其他运算。...

    JavaScript课件-03.pptx

    负号运算符 `-`和正号运算符 `+`则分别用于求负和保持原值。关系运算符如`==`、`===`、`!=`、`!==`、`、`>`、`和`>=`用于比较两个值的相等性或大小关系。`in`运算符检查值是否在数组中,`instanceof`则判断对象是否...

    javascript加号"+"的二义性说明.docx

    2. **一元正号运算符**: - 当加号放在一个变量或数值之前时,表示取正值。 - 示例:`var n = 10; var n2 = +n;` 这里的“+”表示取正值,`n2`的值仍然是10。 3. **数值相加**: - 当加号用于两个数字之间时,...

    js代码-非运算符总结总结总结

    再来说说一元非运算符,包括负号(`-`)和正号(`+`)。虽然它们主要用作数学运算,但也可以影响变量的类型转换。 - 负号(`-`):它将数字变为相反数,或者在非数字前面使用时,会尝试将变量转换为数字,然后取其...

    js代码-一元操作符

    在JavaScript编程语言中,一元操作符是一种特殊的运算符,它们仅接受一个操作数并返回一个新值。一元操作符分为前置和后置两种形式,通常用于改变或检查变量的值。本压缩包文件包含了一个名为`main.js`的JavaScript...

Global site tag (gtag.js) - Google Analytics