!!
总是将工作正常字符串,undefined
,对象和号码类型布尔在JavaScript类型:
!!0 // false
!!1 // true
!!10 // true
!!"" // true
!!"any" // true
!!undefined // false
!!null // false
!!NaN // false
!!{} // true
Run Code Online (Sandbox Code Playgroud)
看来使用!!
是完全安全的.我见过有人用它来转换变量.
但我不确定++
或--
将String类型转换为Number类型.在这些示例中,它看起来++
用于转换是安全的:
var ten = "10";
ten++ // 10
var nineHalf = "9.5";
nineHalf++ // 9.5
var n = "-10.06";
n++ // -10.06
Run Code Online (Sandbox Code Playgroud)
有什么情况++
/ --
不起作用parseFloat
?
只需使用一个+
(一元加运算符).这是一种常见的做法,就像!!
布尔一样.
(+"10.06")
Run Code Online (Sandbox Code Playgroud)
这个++
版本让我害怕增量操作员在我不看的时候做恶行.
编辑:当然,postIncrement运算符甚至不能处理字符串文字.
"10.06"++ //syntax error
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
824 次 |
最近记录: |