當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript学习总结(四)——逻辑OR运算符详解
生活随笔
收集整理的這篇文章主要介紹了
JavaScript学习总结(四)——逻辑OR运算符详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載自? ?JavaScript學習總結(jié)(四)——邏輯OR運算符詳解
在JavaScript中,邏輯OR運算符用||表示
var bTrue = true;var bFalse = false;var bResult = bTrue || bFalse;下面的真值表描述了邏輯AND運算符的行為:??
| 運算數(shù) 1 | 運算數(shù) 2 | 結(jié)果 |
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
在JavaScript中,0,"",false,null,undefined,NaN均表示false,
可以用如下的代碼證明:
<script type="text/javascript">var bFalse = false;//bool類型var strEmpty = "";//空字符串var iZero = 0;//數(shù)是0var oNull=null;//nullvar oUndefined;//undifinedvar oNaN=NaN;//NaN/*判斷JavaScript 變量的 Boolean 值時,也可以使用邏輯 NOT 運算符。這樣做需要在一行代碼中使用兩個 NOT 運算符。無論運算數(shù)是什么類型,第一個 NOT 運算符返回 Boolean 值。第二個 NOT 將對該 Boolean 值求負,從而給出變量真正的 Boolean 值。*/document.write("<PRE>");document.writeln("布爾數(shù)false的邏輯值是 " + (!!bFalse));document.writeln("空字符串(\"\")的邏輯值是 " + (!!strEmpty));document.writeln("數(shù)字0的邏輯值是 " + (!!iZero));document.writeln("NaN的邏輯值是 :" + (!!oNaN));document.writeln("null的邏輯值是 " + (!!oNull));document.writeln("undefined的邏輯值是 " + (!!oUndefined));document.write("</PRE>");</script>運行結(jié)果:
JavaScript的邏輯 OR 運算也是簡便運算,對于邏輯 OR 運算符來說,如果第一個運算數(shù)值為 true,就不再計算第二個運算數(shù),如果某個運算數(shù)不是 Boolean 值,邏輯 OR 運算并不一定返回 Boolean 值,邏輯||的運算規(guī)則如下:
對于這些運算規(guī)則,沒有必要死記硬背,因為在JavaScript中,可以使用邏輯Not運算符來判斷JavaScript變量的Boolean值,判斷的方式就是"!!變量名",例如:
?使用邏輯Not運算符來判斷JavaScript變量的Boolean值
?
<script type="text/javascript">var bFalse = false;//運算數(shù)是bool類型的數(shù)var sRed = "red";//運算數(shù)是字符串var iZero = 0;//運算數(shù)是0var iThreeFourFive = 345;//運算數(shù)是 0 以外的任何數(shù)字var oObject = new Object();//對象var oNull=null;//運算數(shù)是nullvar oUndefined;//運算數(shù)是undifinedvar oNaN=parseInt("abc");//使用parseInt方法把嘗試字符串a(chǎn)bc轉(zhuǎn)換成整數(shù),因為abc不是數(shù)字,因此是轉(zhuǎn)不了的,所以返回的結(jié)果就是NaN/*判斷JavaScript 變量的 Boolean 值時,也可以使用邏輯 NOT 運算符。這樣做需要在一行代碼中使用兩個 NOT 運算符。無論運算數(shù)是什么類型,第一個 NOT 運算符返回 Boolean 值。第二個 NOT 將對該 Boolean 值取反,從而給出變量真正的 Boolean 值。*/document.write("<PRE>");document.writeln("布爾數(shù)false 的邏輯值是 " + (!!bFalse));document.writeln("字符串sRed 的邏輯值是 " + (!!sRed));document.writeln("數(shù)字0 的邏輯值是 " + (!!iZero));document.writeln("數(shù)字345 的邏輯值是 " + (!!iThreeFourFive));document.writeln("對象Object 的邏輯值是 " + (!!oObject));document.writeln("NaN的邏輯值是 :" + (!!oNaN));document.writeln("null 的邏輯值是 " + (!!oNull));document.writeln("undefined 的邏輯值是 " + (!!oUndefined));document.write("</PRE>");</script>判斷結(jié)果:
??
邏輯||運算符測試腳本:
<script type="text/javascript">document.write("<PRE>");/*JavaScript中的||將返回第一個不為false的那個值(對象亦可)或者最后一個值(如果全部都為false的話)*/var a=2;var b=90;var c=a||b;//在JavaScript中,非0的數(shù)字就代表true,0就代表falsedocument.writeln("a=2,b=90,c=a||b的結(jié)果是:"+c);//結(jié)果為2,返回第一個不為false的那個值,所以值是2var bFalse1=false;var bFalse2=false;var num=0;//0代表falsevar result=bFalse1||bFalse2||num;document.writeln("bFalse1=false,bFalse2=false,num=0,result=bFalse1||bFalse2||num的結(jié)果是:"+num);//如果全部都為false的話,返回最后一個值,因此結(jié)果是0/*如果一個運算數(shù)是對象,另一個是 Boolean 值,返回該對象。*/var obj = new Object();var bTrue=true;var bFalse=false;document.writeln("obj||bTrue的結(jié)果是:"+(obj||bTrue));//返回objectdocument.writeln("bTrue||obj的結(jié)果是:"+(bTrue||obj));//返回true,邏輯 OR 運算也是簡便運算。對于邏輯 OR 運算符來說,如果第一個運算數(shù)值為 true,就不再計算第二個運算數(shù)。document.writeln("obj||bFalse的結(jié)果是:"+(obj||bFalse));//返回objectdocument.writeln("bFalse||obj的結(jié)果是:"+(bFalse||obj));//返回object/*如果兩個運算數(shù)都是對象,返回第一個對象*/var obj1 = new Object();var obj2 = new Object();document.writeln("obj1==(obj1||obj2)的結(jié)果是:"+(obj1==(obj1||obj2)));//結(jié)果為truedocument.writeln("obj2==(obj1||obj2)的結(jié)果是:"+(obj2==(obj1||obj2)));//結(jié)果為false/*如果某個運算數(shù)是 null,返回 null。*/var c=1;var d=null;document.writeln("d=null,null的布爾值是;"+(!!d));document.writeln("c=1,d=null,c||d的結(jié)果是:"+(c||d));document.writeln("c=1,d=null,d||c的結(jié)果是:"+(d||c));var o=new Object();document.writeln("o是一個對象,d=null,o||d的結(jié)果是:"+(o||d));//返回objectdocument.writeln("o是一個對象,d=null,d||o的結(jié)果是:"+(d||o));//返回objectvar zero=0;document.writeln("zero=0,d=null,zero||d的結(jié)果是:"+(zero||d));//返回nulldocument.writeln("zero=0,d=null,d||zero的結(jié)果是:"+(d||zero));//返回0var bTrue = true;var bResult = (bTrue || bUnknown);/*變量 bUnknown 是未定義的。不過,由于變量 bTrue 的值為 true,bUnknown 不會被計算,因此輸出的是 "true"。*/document.writeln("bUnknown是未定義的一個變量,bResult = (bTrue || bUnknown)的結(jié)果是:"+bResult);//輸出 "true"bFalse = false;bResult = (bFalse || bUnknown); //發(fā)生錯誤document.writeln(bResult); //不會執(zhí)行這一行document.write("</PRE>");運行結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的JavaScript学习总结(四)——逻辑OR运算符详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英特尔 A750 / A580 显卡 1
- 下一篇: 本田飞机公司发布轻型公务机命名 Hond