JavaScript知識(shí)點(diǎn)總結(jié)(四)之邏輯OR運(yùn)算符詳解
在JavaScript中,邏輯OR運(yùn)算符用||表示
var bTrue = true; var bFalse = false; var bResult = bTrue || bFalse;
下面的真值表描述了邏輯AND運(yùn)算符的行為:

在JavaScript中,0,"",false,null,undefined,NaN均表示false,
可以用如下的代碼證明:
<script type="text/javascript">
var bFalse = false;//bool類型
var strEmpty = "";//空字符串
var iZero = ;//數(shù)是
var oNull=null;//null
var oUndefined;//undifined
var oNaN=NaN;//NaN
/*
判斷JavaScript 變量的 Boolean 值時(shí),也可以使用邏輯 NOT 運(yùn)算符。這樣做需要在一行代碼中使用兩個(gè) NOT 運(yùn)算符。
無(wú)論運(yùn)算數(shù)是什么類型,第一個(gè) NOT 運(yùn)算符返回 Boolean 值。第二個(gè) NOT 將對(duì)該 Boolean 值求負(fù),從而給出變量真正的 Boolean 值。
*/
document.write("<PRE>");
document.writeln("布爾數(shù)false的邏輯值是 " + (!!bFalse));
document.writeln("空字符串(\"\")的邏輯值是 " + (!!strEmpty));
document.writeln("數(shù)字的邏輯值是 " + (!!iZero));
document.writeln("NaN的邏輯值是 :" + (!!oNaN));
document.writeln("null的邏輯值是 " + (!!oNull));
document.writeln("undefined的邏輯值是 " + (!!oUndefined));
document.write("</PRE>");
</script>
運(yùn)行結(jié)果:
JavaScript的邏輯 OR 運(yùn)算也是簡(jiǎn)便運(yùn)算,對(duì)于邏輯 OR 運(yùn)算符來(lái)說(shuō),如果第一個(gè)運(yùn)算數(shù)值為 true,就不再計(jì)算第二個(gè)運(yùn)算數(shù),如果某個(gè)運(yùn)算數(shù)不是 Boolean 值,邏輯 OR 運(yùn)算并不一定返回 Boolean 值,邏輯||的運(yùn)算規(guī)則如下:
1.如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。
2.如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。
3.如果某個(gè)運(yùn)算數(shù)是 null,返回 null。
4.如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。
5.如果某個(gè)運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤。
對(duì)于這些運(yùn)算規(guī)則,沒有必要死記硬背,因?yàn)樵贘avaScript中,可以使用邏輯Not運(yùn)算符來(lái)判斷JavaScript變量的Boolean值,判斷的方式就是"!!變量名",例如:
使用邏輯Not運(yùn)算符來(lái)判斷JavaScript變量的Boolean值
<script type="text/javascript">
var bFalse = false;//運(yùn)算數(shù)是bool類型的數(shù)
var sRed = "red";//運(yùn)算數(shù)是字符串
var iZero = ;//運(yùn)算數(shù)是
var iThreeFourFive = ;//運(yùn)算數(shù)是 以外的任何數(shù)字
var oObject = new Object();//對(duì)象
var oNull=null;//運(yùn)算數(shù)是null
var oUndefined;//運(yùn)算數(shù)是undifined
var oNaN=parseInt("abc");//使用parseInt方法把嘗試字符串a(chǎn)bc轉(zhuǎn)換成整數(shù),因?yàn)閍bc不是數(shù)字,因此是轉(zhuǎn)不了的,所以返回的結(jié)果就是NaN
/*
判斷JavaScript 變量的 Boolean 值時(shí),也可以使用邏輯 NOT 運(yùn)算符。這樣做需要在一行代碼中使用兩個(gè) NOT 運(yùn)算符。
無(wú)論運(yùn)算數(shù)是什么類型,第一個(gè) NOT 運(yùn)算符返回 Boolean 值。第二個(gè) NOT 將對(duì)該 Boolean 值取反,從而給出變量真正的 Boolean 值。
*/
document.write("<PRE>");
document.writeln("布爾數(shù)false 的邏輯值是 " + (!!bFalse));
document.writeln("字符串sRed 的邏輯值是 " + (!!sRed));
document.writeln("數(shù)字 的邏輯值是 " + (!!iZero));
document.writeln("數(shù)字 的邏輯值是 " + (!!iThreeFourFive));
document.writeln("對(duì)象Object 的邏輯值是 " + (!!oObject));
document.writeln("NaN的邏輯值是 :" + (!!oNaN));
document.writeln("null 的邏輯值是 " + (!!oNull));
document.writeln("undefined 的邏輯值是 " + (!!oUndefined));
document.write("</PRE>");
</script>
判斷結(jié)果:

邏輯||運(yùn)算符測(cè)試腳本:
<script type="text/javascript">
document.write("<PRE>");
/*JavaScript中的||將返回第一個(gè)不為false的那個(gè)值(對(duì)象亦可)或者最后一個(gè)值(如果全部都為false的話)*/
var a=;
var b=;
var c=a||b;//在JavaScript中,非的數(shù)字就代表true,就代表false
document.writeln("a=,b=,c=a||b的結(jié)果是:"+c);//結(jié)果為,返回第一個(gè)不為false的那個(gè)值,所以值是
var bFalse=false;
var bFalse=false;
var num=;//代表false
var result=bFalse||bFalse||num;
document.writeln("bFalse=false,bFalse=false,num=,result=bFalse||bFalse||num的結(jié)果是:"+num);//如果全部都為false的話,返回最后一個(gè)值,因此結(jié)果是
/*如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。*/
var obj = new Object();
var bTrue=true;
var bFalse=false;
document.writeln("obj||bTrue的結(jié)果是:"+(obj||bTrue));//返回object
document.writeln("bTrue||obj的結(jié)果是:"+(bTrue||obj));//返回true,邏輯 OR 運(yùn)算也是簡(jiǎn)便運(yùn)算。對(duì)于邏輯 OR 運(yùn)算符來(lái)說(shuō),如果第一個(gè)運(yùn)算數(shù)值為 true,就不再計(jì)算第二個(gè)運(yùn)算數(shù)。
document.writeln("obj||bFalse的結(jié)果是:"+(obj||bFalse));//返回object
document.writeln("bFalse||obj的結(jié)果是:"+(bFalse||obj));//返回object
/*如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象*/
var obj = new Object();
var obj = new Object();
document.writeln("obj==(obj||obj)的結(jié)果是:"+(obj==(obj||obj)));//結(jié)果為true
document.writeln("obj==(obj||obj)的結(jié)果是:"+(obj==(obj||obj)));//結(jié)果為false
/*如果某個(gè)運(yùn)算數(shù)是 null,返回 null。*/
var c=;
var d=null;
document.writeln("d=null,null的布爾值是;"+(!!d));
document.writeln("c=,d=null,c||d的結(jié)果是:"+(c||d));
document.writeln("c=,d=null,d||c的結(jié)果是:"+(d||c));
var o=new Object();
document.writeln("o是一個(gè)對(duì)象,d=null,o||d的結(jié)果是:"+(o||d));//返回object
document.writeln("o是一個(gè)對(duì)象,d=null,d||o的結(jié)果是:"+(d||o));//返回object
var zero=;
document.writeln("zero=,d=null,zero||d的結(jié)果是:"+(zero||d));//返回null
document.writeln("zero=,d=null,d||zero的結(jié)果是:"+(d||zero));//返回
var bTrue = true;
var bResult = (bTrue || bUnknown);
/*變量 bUnknown 是未定義的。不過(guò),由于變量 bTrue 的值為 true,bUnknown 不會(huì)被計(jì)算,因此輸出的是 "true"。*/
document.writeln("bUnknown是未定義的一個(gè)變量,bResult = (bTrue || bUnknown)的結(jié)果是:"+bResult);//輸出 "true"
bFalse = false;
bResult = (bFalse || bUnknown); //發(fā)生錯(cuò)誤
document.writeln(bResult); //不會(huì)執(zhí)行這一行
document.write("</PRE>");
運(yùn)行結(jié)果:

以上內(nèi)容是小編給大家介紹的JavaScript知識(shí)點(diǎn)總結(jié)(四)之邏輯OR運(yùn)算符詳解,希望對(duì)大家有所幫助!
- nodejs中的異步編程知識(shí)點(diǎn)詳解
- JS內(nèi)置對(duì)象和Math對(duì)象知識(shí)點(diǎn)詳解
- VsCode與Node.js知識(shí)點(diǎn)詳解
- nodejs連接mysql數(shù)據(jù)庫(kù)及基本知識(shí)點(diǎn)詳解
- 詳解照片瀑布流效果(js,jquery分別實(shí)現(xiàn)與知識(shí)點(diǎn)總結(jié))
- JavaScript知識(shí)點(diǎn)總結(jié)(十六)之Javascript閉包(Closure)代碼詳解
- JavaScript知識(shí)點(diǎn)總結(jié)(十一)之js中的Object類詳解
- javascript知識(shí)點(diǎn)詳解
相關(guān)文章
純javascript代碼實(shí)現(xiàn)計(jì)算器功能(三種方法)
純javascript代碼實(shí)現(xiàn)計(jì)算器功能,接下來(lái),由小編給大家分享一下用純javascript代碼編寫的計(jì)算器程序,需要的朋友可以參考下2015-09-09
值得分享和收藏的xmlplus組件學(xué)習(xí)教程
值得分享和收藏的xmlplus組件學(xué)習(xí)教程,xmlplus是一個(gè)設(shè)計(jì)非常獨(dú)特 JavaScript 框架,用于快速開發(fā)前后端項(xiàng)目,感興趣的小伙伴們可以參考一下2017-05-05
js實(shí)現(xiàn)購(gòu)物車加減以及價(jià)格計(jì)算功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購(gòu)物車加減以及價(jià)格計(jì)算功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
js屏蔽鼠標(biāo)鍵盤(右鍵/Ctrl+N/Shift+F10/F11/F5刷新/退格鍵)
屏蔽鼠標(biāo)右鍵、Ctrl+N、Shift+F10、F11、F5刷新、退格鍵/Alt+ 方向鍵 →等等,太多了就不一一寫來(lái)了感興趣的朋友可以了解下啊,希望本文對(duì)你有所幫助2013-01-01
JavaScript實(shí)現(xiàn)獲取最近7天的日期的方法詳解
這篇文章主要想和大家分享一些JavaScript開發(fā)中會(huì)用到的小技巧,本文主要介紹了js獲取最近7天的日期,判斷當(dāng)前日期時(shí)間大于指定日期時(shí)間等內(nèi)容,需要的可以參考一下2023-04-04
js動(dòng)態(tài)創(chuàng)建及移除div的方法
這篇文章主要介紹了js動(dòng)態(tài)創(chuàng)建及移除div的方法,涉及javascript針對(duì)頁(yè)面元素的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2015-06-06

