首页 > 代码库 > Javascript两个感叹号的用法(!!)

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

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

 

1、JS双竖线运算符:是或比较.如null||‘1‘,返回‘1‘;‘2‘||‘1‘,返回‘2‘.即或运算符中,第一个为真,后面的就不用计算了.所以得‘2‘。

2、js 中 使用双竖线运算符"||",返回第一个有效值
 

var objOne = undefined || 1 || null || new Date(); 
var objTwo = new Date(); 
var objThree = objOne || objTwo; 
alert(objThree.toString()); //out put "1"

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