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"
posted @ 2017-07-27 18:44  silentmuh  阅读(1889)  评论(0编辑  收藏  举报
Live2D