作業(yè)
- 布爾值是什么
- 布爾值什么時候出現(xiàn)
- 非布爾值轉(zhuǎn)換為假值的有哪幾個?
- 邏輯運(yùn)算符有哪幾個
- 請說明邏輯與運(yùn)算符的工作原理
- 請說明邏輯非運(yùn)算符的工作原理
- null是什么
- 什么時候出現(xiàn)null
- undeinfed是什么
- 什么時候出現(xiàn)undefined
- null == undefined返回ture還是false
布爾值是什么
布爾值是一種原始數(shù)據(jù)類型象对。
布爾值只有兩個值:true 和 flase
布爾值表示真或假蚕礼、開或關(guān)严卖、是或否席舍、1或0
用途:布爾值經(jīng)常用于邏輯運(yùn)算
布爾: boolean (人名)
布爾值什么時候出現(xiàn)
- 做值的比較的時候出現(xiàn)
1 == 0 //
'hello' == null
- 條件表達(dá)式中出現(xiàn)
if(100){
console.log('真')
}
布爾值的轉(zhuǎn)換
記住一句話:任何值都可以轉(zhuǎn)為布爾值
六個假值
- NaN
- ''
- undefined
- null
- 0
- -0
真值
- 6個假值以外的值都可以轉(zhuǎn)為真值
- 空對象
- 空數(shù)組
- Infinity
- ' '
邏輯運(yùn)算符
定義:邏輯運(yùn)算符用于控制程序結(jié)構(gòu)。邏輯運(yùn)算符有三個:
- 邏輯與(&&):與運(yùn)算
- 邏輯或(||):或運(yùn)算
- 邏輯非(!):非運(yùn)算哮笆、取反運(yùn)算
&&邏輯與運(yùn)算符
定義:
- 邏輯與運(yùn)算符是一個二元運(yùn)算符
- 當(dāng)且僅當(dāng)兩個操作數(shù)都為真時来颤,與運(yùn)算的結(jié)構(gòu)才是真汰扭,任何一個操作數(shù)為假,那么與運(yùn)算的結(jié)果就是假福铅。
- 與運(yùn)算就是找false萝毛,有一個false就返回false
//布爾值的與運(yùn)算
console.log(true && true) //true
console.log(true && false) //false
console.log(false && true) //false
console.log(false && false) //false
//與運(yùn)算屬于短路型運(yùn)算
//true && alert('hello world1')//彈
//false && alert('hello world2') //不彈
//非布爾值的與運(yùn)算:先把操作值轉(zhuǎn)為布爾值,再運(yùn)算滑黔,返回原值
console.log( 1 && 'hello') //'hello'
console.log( 'hello' && 1) //1
console.log( 1 && NaN ) //NaN
console.log( NaN && 1) //NaN
console.log( NaN && 0 ) //NaN
console.log( 0 && NaN ) // 0
console.log( '' && abc)
//a 報錯 b空 cfalse
console.log( 'abc' && abc)//報錯
||邏輯或運(yùn)算符
定義:
- 邏輯或運(yùn)算符是一個二元運(yùn)算符
- 什么時候返回真:任何一個操作的值是真笆包,那么或運(yùn)算的結(jié)果就是真
- 什么時候返回假:兩個數(shù)都是假,它才會返回假略荡。
- 或運(yùn)算就是找true庵佣,有一個true就返回true
- 或運(yùn)算也屬于短路運(yùn)算
console.log( true || false )
console.log( false || true )
console.log( true || true)
console.log( false || false)
true || alert('hello world1')//不彈
//false || alert('hello world2') //彈
console.log(1 || 'hello') // 1
console.log('hello' || 1) // 'hello'
console.log( null || 'hello')//hello
!邏輯非運(yùn)算符
邏輯非運(yùn)算符用于操作一個數(shù),一元運(yùn)算符。用于對操作的值進(jìn)行取反.
如果操作的值為假斩熊,非運(yùn)算的結(jié)果就是真
如果操作的值為真,非運(yùn)算的結(jié)果就是假
let b1 = true//1.布爾值屬于原始數(shù)據(jù)類型肛根。地址:0001
//2. 原始數(shù)據(jù)類型是不可修改的數(shù)據(jù)類型。
//!b1//相當(dāng)于重新開辟了一塊內(nèi)存空間帝嗡,重新創(chuàng)建了一個新值false 地址:0002
b1 = !b1
console.log(b1)
let b2 = 10
//b2 = !b2 //先通過調(diào)用Boolean()把10轉(zhuǎn)換成布爾值true,再取反
b2 = !!b2
console.log(b2, typeof b2)
null是什么
- null是一種原始數(shù)據(jù)類型
- null是一種特殊的對象,表示”不存在“璃氢、”空”哟玷、“沒有對象“(typeof null 的返回值是'object'。)
- 這種不存在指程序級的不存在一也,意味意料之中巢寡、正常。
- null是一個關(guān)鍵字
什么時候出現(xiàn)null
- 未獲取到元素
- 定義變量 預(yù)定義一個null的空值
12月20日 undefined
undefined是什么
- undefined是js語法中預(yù)定義的全局常量
- undefined也表示值的不存在椰苟。
- 這種不存在指系統(tǒng)級的不存在抑月,意味著出乎意料、不正常舆蝴。
什么時候出現(xiàn)
- 變量未初始化
- 屬性不存在 訪問car.abc是不存在的屬性
- 數(shù)組元素不存在 [ 'a', 'hello', ,100]
- 函數(shù)的默認(rèn)返回值
- 函數(shù)的形參
null和undefined的關(guān)系
- null == undefined // true
- null === undefined //false
- null和undefined都沒有方法和屬性