Javascript两个感叹号的用法(!!)

var foo;  
alert(!foo);//undefind情况下或者null,一个感叹号返回的是true;  
alert(!goo);//undefind情况下,一个感叹号返回的也是true;  但是这里会报undefind的错误
var o={flag:true};  
var test=!!o.flag;//等效于var test=o.flag||false;  
alert(test);  //返回true
var test2=!!o.flag1;//当里面没有对象时
alert(test2);//返回false
var test3=!!b.flag;//当连b这个对象都没有时
alert(test3);//返回false

所以可以发现,!!两个感叹号多用于判断对象的存在。

posted @ 2016-12-31 12:58  EasonJim  阅读(3277)  评论(0编辑  收藏  举报