<分区>
Possible Duplicate:
What is the !! (not not) operator in JavaScript?
我正在查看一些代码,看到一个 IF 语句,如下所示。谁能告诉我为什么有两个 !! 而不是一个?我以前从未见过这个,也无法在谷歌上挖掘任何东西,因为它忽略了特殊字符。
if (!!myDiv && myDiv.className == 'visible') {
}
<分区>
Possible Duplicate:
What is the !! (not not) operator in JavaScript?
我正在查看一些代码,看到一个 IF 语句,如下所示。谁能告诉我为什么有两个 !! 而不是一个?我以前从未见过这个,也无法在谷歌上挖掘任何东西,因为它忽略了特殊字符。
if (!!myDiv && myDiv.className == 'visible') {
}
最佳答案
双非运算符用于将变量转换为boolean
类型。 dobule 不会相互抵消,但看到 !
返回 true
或 false
,您只会得到两个输出之一。
例如,
!!0 == true
所以
!!myDiv == true
将 myDiv
转换为 bool 值并针对 true 进行测试。 !!myDiv
只会给出 true
或 false
。
关于javascript - 为什么在使用 && 时 IF 语句中有两个 !!?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230406/
相关文章:
CSS 和 .less : Set a font color if user pick a specific color through web interface
javascript - 使用 JS 在 Google Analytic 中设置目标
javascript - JQuery 当我单击时出现错误 Uncaught RangeError : Maximum call stack size exceeded
javascript - React-Redux History.query 因间隔查询参数而被 chop