js !!条件判断或运算的作用

今天看到一个判断语句非常奇怪:

1 if(!!selected){} //为什么是双'!'号呢?

自己查了下资料终于明白了这其中的原理:

原来'!!'会将表达式转为Boolean类型的数据。

如果'!undefined' //得到的是true但是为了防止值等于undefined的时候不为true的话我们可以使用'!!'进行判断;

其实'!!'就是为了排除{非null/undefined/0/''} 等值;

 

var obj = {flag:true};
var demo = !!obj.flag; // demo 等于true

  

posted @ 2016-05-31 23:27  leung_blog  阅读(789)  评论(0编辑  收藏  举报