Javascript--Boolean运算符
生活随笔
收集整理的這篇文章主要介紹了
Javascript--Boolean运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Boolean運算符有3種:
1.邏輯NOT
邏輯NOT由!表示.與邏輯OR和邏輯AND運算符不同的是:邏輯NOT運算符返回的一定是Boolean值.
邏輯NOT運算符的行為如下:
- 如果運算數是對象,返回false
- 如果運算數是0以外的其他任何數字,返回false
- 如果運算數是0,返回true
- 如果運算數是null,返回true
- 如果運算數是NaN,返回true
- 如果運算數是undefined,發生錯誤
- 對Boolean值求非,從而得到真正的Boolean值
例子:
function display(value){document.write(value+"<br/>");}display(!new Object()); display(!100);display(!0);display(!null);display(!NaN);display(!true);display(!false);//undefineddisplay(!ss);結果:
總結:
- 如果運算數是0,null,NaN以及未定義的值,則求非之后,結果為true
- 如果運算數是0以外的任何數字或對象,則求非之后,結果為false
2.邏輯AND運算符
邏輯AND運算符由&&表示.邏輯AND是簡便運算,即:如果第一個運算數決定了結果,就不再計算第二個運算數,對于邏輯與來說,如果第一個運算數是false,無論第二個運算數的值是什么,都不可能等于true.
下面采用真值的方式來描述:
| 第一個操作數 | 第二個操作數 | 結果 |
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
邏輯AND運算符的運算數可以是任何類型的,不止是Boolean值.如果某個運算數不是原始的Boolean值,邏輯AND并不一定返回Boolean值.
- 如果第一個運算數是對象,那么返回第二個運算數
- 如果某個運算數是null,則返回null
- 如果某個運算數是NaN,則返回NaN
- 如果某個運算數是undefined,則發生錯誤
例子:
function display(value){document.write(value+"<br/>");}var trueValue = true;var falseValue = false;var obj1 = new Object();obj1.name="obj1";var obj2 =new Object();obj2.name="obj2";var result;//如果第一個運算數是對象,另一個運算數是Boolean值,則返回Boolean值result = obj1 && trueValue;display(result); result = obj1 && falseValue;display(result); //如果第一個運算數是Boolean值,則會按照簡便運算方式運行result = trueValue && obj1;//obj1 && true;display(result.name);result = falseValue && obj1;display(result); display(trueValue && 'www')//如果兩個運算數都是對象,則返回第二個對象result = obj1 && obj2;display(result.name); //如果某個運算數是null,則返回nullresult = obj1 && null;display(result);//如果某個運算數是NaN,則返回NaNresult = obj1 && NaN;display(result);//如果某個運算數是undefined,則發生錯誤result = obj1 && ss;display(result);結果:
總結:
- 當變量為null,NaN以及未定義值的時候和false一樣,擁有否決權,分別返回null,NaN,undefined.
- 當運算數為對象時,都將通過運算.如果第一個運算數通過運算,那么將返回第二個運算數.
- 當運算數未被聲明時,引發錯誤.
3.邏輯OR運算符
邏輯OR運算符由||表示.邏輯OR運算符也是簡便運算,如果第一個運算數為true,則不再計算第二個運算數.
下面采用真值的方式來描述:
| 第一個操作數 | 第二個操作數 | 結果 |
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
邏輯OR運算符的運算數可以是任何類型的,不止是Boolean值.如果某個運算數不是原始的Boolean值,邏輯OR并不一定返回Boolean值.
- 如果第一個運算數是對象,則返回該對象
- 如果第一個運算數為false,null,NaN,undefined,第二個運算數為null,則返回null
- 如果第一個運算數為false,null,NaN,undefined,第二個運算數為NaN,則返回NaN
- 如果第一個運算數為false,null,NaN,undefined,第二個運算數為undefined,則引發錯誤.
例子:
function display(value){document.write(value+"<br/>");}var trueValue = true;var falseValue = false;var obj1 = new Object();obj1.name="obj1";var obj2 =new Object();obj2.name="obj2";var result; //如果第一個運算數是對象,則返回該對象result = obj1 || trueValue;display(result.name); result = obj1 || falseValue;display(result.name); result = obj1 || obj2;display(result.name); //如果第一個運算數為false,null,NaN,undefined,第二個運算數為null,則返回nulldisplay(false || null);//如果第一個運算數為false,null,NaN,undefined,第二個運算數為NaN,則返回NaNdisplay(null || NaN);//如果第一個運算數為false,null,NaN,undefined,第二個運算數為undefined,則引發錯誤display(NaN || ss);display(ss || ss);結果:
轉載于:https://www.cnblogs.com/oneword/archive/2009/12/24/1631344.html
總結
以上是生活随笔為你收集整理的Javascript--Boolean运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 时间日期
- 下一篇: ListBox简单应用