引入:
你是吃飯了沒有源武?答案只有你吃了或者沒有吃末秃。這就是我們之前學(xué)的布爾值。布爾值只有真(true)和假害幅。(false)绘沉。
新授:
1. 邏輯運算符作用與特點
邏輯運算符通常用于布爾值的操作煎楣,一般和關(guān)系運算符配合使用,特點是短路梆砸。
2. 三個邏輯運算符
邏輯與(AND)转质、邏輯或(OR)、邏輯非(NOT)帖世。
3. 邏輯與(AND):&&
var box= (5>4)&&(4>3)//true,兩邊都為true沸枯,返回true日矫。原因在于&&是“與”,類似于漢字中的“且”绑榴,是必須兩個條件都滿足才行哪轿。
例如:所有年滿18歲的男生去操場。年滿18歲翔怎、男生就是兩個條件都必須滿足窃诉,
小結(jié):
** &&必須兩邊都是true才能得到true杨耙;有一個false則得到false **
課堂練習(xí):
alert ( true && 3>=2 ) ;
alert ( 5<=3 && (8-4)*2+1+9<=12 ) ;
alert ( 8-3>=5 && 8+2 >=3 && 9/4<=3 && 12>=4 )
alert ( 8-3>=5 && 8+2 >=3 && 9/4<=3 && 12>=4 && false )
alert ( 3 && true )
特殊情況
** 1. 操作數(shù)中存在null和undefined的情況。如果未被短路飘痛,則返回null或undefined珊膜。 **
練習(xí):走讀上面代碼,并用代碼進(jìn)行驗算宣脉。
document.write ( null && 3<=2) ;
document.write( false && null) ;
var a ;
document.write( true && a) ;
document.write( false && a) ;
** 2. 操作數(shù)是對象车柠,如果未被短路,則返回第二個操作數(shù)(無論該對象是否為空);**
練習(xí):走讀上面代碼塑猖,并用代碼進(jìn)行驗算竹祷。
var a = new Object () ;
document.write ( false && a ) ; // false
document.write ( a && false ) ; // false
document.write ( true && a) ; // [object Object]
document.write ( a && true) ; // true
** 3. 操作數(shù)是未申明的變量,如果未被短路羊苟,會報錯(無論該對象是否為空); **
練習(xí):走讀上面代碼塑陵,并用代碼進(jìn)行驗算。
document.write ( false && aa ) ;
document.write ( true && bb ) ;
總結(jié):
- 邏輯運算符有:與(AND)或(OR)非(NOT)蜡励;邏輯“與”的寫法: &&
- 邏輯"與"運算符&& : 特殊操作數(shù)(null undefined和未定義的變量)的邏輯“與”運算結(jié)果
習(xí)題
- 求出下列運算的結(jié)果
true && true false && true false && false false && true && true && 3>=2
3 && true 5>=5 && false 5>=6 && 6==6 (8+4)>=12 & false
null && true false && null true && new Object() new Object() && new Object()
- 走讀下列代碼令花,看看下列代碼會出現(xiàn)什么問題,并上機(jī)驗證巍虫。
var a;
document.write( false && b ) ;
document.write( a && false ) ;
document.write( a && new Object() ) ;
document.write( new Object() && a ) ;
document.write( b && false ) ;