搜索

首页  >  问答  >  正文

Javascript中写两个!判断布尔值有何好处?

比如:

1

2

3

4

<code>javascript</code><code>if(!!document.addEventListener){

  //do somthing

}

</code>

PHPzPHPz2909 天前271

全部回复(5)我来回复

  • 阿神

    阿神2017-04-10 15:10:41

    强制将语句转为表达式

    语句值为number:

    1

    2

    3

    4

    <code>!!1 // true

    !!(4-2) // true

    !!(4-4) // false

    </code>

    语句值为string:

    1

    2

    3

    <code>!!"str" // true

    !!""    // false

    </code>

    语句值为object:

    1

    2

    3

    4

    5

    <code>var obj = {}

    !!obj // true

    obj = null

    !!obj // false

    </code>

    语句值未定义 undefined:

    1

    2

    3

    4

    5

    <code>var temp;

    !!temp // false

    temp = 1;

    !!temp // true

    </code>

    语句值为null :

    1

    2

    <code>!!null // false

    </code>

    原因:

    1

    2

    <code>"解析器"没有想象中智能,所以用这种方式来告诉"它"

    </code>

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 15:10:41

    类型转换,将任意变量转成bool值。

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:10:41

    转布尔值!
    !!

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:10:41

    见js中两个感叹号的作用

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:10:41

    !!*** => Boolean(***)
    优点:节省输入,珍爱生命
    缺点:语义不明确,珍爱生命

    回复
    0
  • 取消回复