javascript - 为什么在使用 && 时 IF 语句中有两个 !!?

标签 javascript if-statement

<分区>

Possible Duplicate:
What is the !! (not not) operator in JavaScript?

我正在查看一些代码,看到一个 IF 语句,如下所示。谁能告诉我为什么有两个 !! 而不是一个?我以前从未见过这个,也无法在谷歌上挖掘任何东西,因为它忽略了特殊字符。

if (!!myDiv && myDiv.className == 'visible') {
}

最佳答案

双非运算符用于将变量转换为boolean 类型。 dobule 不会相互抵消,但看到 ! 返回 truefalse,您只会得到两个输出之一。

例如,

!!0 == true

所以

!!myDiv == true

myDiv 转换为 bool 值并针对 true 进行测试。 !!myDiv 只会给出 truefalse

关于javascript - 为什么在使用 && 时 IF 语句中有两个 !!?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230406/

相关文章:

CSS 和 .less : Set a font color if user pick a specific color through web interface

java - 减少继承中的重复代码

javascript - 使用 JS 在 Google Analytic 中设置目标

javascript - JQuery 当我单击时出现错误 Uncaught RangeError : Maximum call stack size exceeded

javascript - React-Redux History.query 因间隔查询参数而被 chop

javascript - 如何使用两个 if 条件迭代 Handlebars.js 中的对象列表?

php - 如果 || 我的代码不能正常工作

c - 使用 switch - C 后简单程序崩溃