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"