關(guān)于if(xx)和 a==b的判斷

if條件判斷

if...else 條件判斷的語法如下:

if (條件)

{

當(dāng)條件為 true 時執(zhí)行的代碼

}

else

{

當(dāng)條件不為 true 時執(zhí)行的代碼

}

而在if條件中是6種由數(shù)據(jù)類型(ES6 新增了第七種 Symbol 類型的值)數(shù)值、字符串、布爾值、對象、undefined和null以及其中出現(xiàn)的運(yùn)算符組成,根據(jù)運(yùn)算規(guī)則對條件進(jìn)行運(yùn)算,但是最終的運(yùn)算結(jié)果需要轉(zhuǎn)換成布爾值,然后再進(jìn)行判斷TRUE還是FALSE,再執(zhí)行代碼。所以關(guān)鍵的就是了解這6種數(shù)據(jù)類型是怎么轉(zhuǎn)化為布爾值的,以及運(yùn)算符的優(yōu)先級和運(yùn)算規(guī)則。

我們可以記住一些常用的規(guī)則以便幫助我們進(jìn)行判斷:

在JavaScript中,If 語句判斷為false的變量值為:

false, 0, 0.0, null, undefined

其他變量值判斷為true:

true, 1, [任何字串/數(shù)字]

取反運(yùn)算符(!),用于將布爾值變?yōu)橄喾粗?,即true變成false,false變成true。

且運(yùn)算符(&&)的運(yùn)算規(guī)則是:如果第一個運(yùn)算子的布爾值為true,則返回第二個運(yùn)算子的值(注意是值,不是布爾值);如果第一個運(yùn)算子的布爾值為false,則直接返回第一個運(yùn)算子的值,且不再對第二個運(yùn)算子求值。

或運(yùn)算符(||)的運(yùn)算規(guī)則是:如果第一個運(yùn)算子的布爾值為true,則返回第一個運(yùn)算子的值,且不再對第二個運(yùn)算子求值;如果第一個運(yùn)算子的布爾值為false,則返回第二個運(yùn)算子的值。

除此之外還有很多運(yùn)算符及其規(guī)則,在編程的過程中如果忘記了,應(yīng)該及時去查閱相應(yīng)的文檔。

變量相等的判斷

在javascript判斷兩個變量值是否相等,可以使用==(相等)操作符 或者===(絕對相等)操作符

== 操作符

“相等”操作符,簡單判斷2個變量值是否相等,變量類型不一致時,會做類型轉(zhuǎn)換,即忽略變量的類型進(jìn)行比較

例子1

var str1 = "666" ; // 字符串

var str2 = "666" ; // 字符串

alert(str1==str2) ; // 打印出 true,即相等

例子2

var str1 = 666 ;? // 整型

var str2 = "666" ; // 字符串

alert(str1==str2) ; // 打印出 true,即相等

差別:

在例子1中,2個變量都是字符串類型(因為有引號),所以比較相等,打印出true;

在例子2中,變量str1是整型,但是在做==比較時,javascript 發(fā)現(xiàn) 2個變量類型不一致,先做了類型轉(zhuǎn)換(調(diào)用str1的toString方法,把str1轉(zhuǎn)成字段串),再比較2者,因此值也相等,打印出true;

=== 操作符

“絕對相等”操作符,先比較2個變量類型是否一致,不一致返回false,一致時,再比較2個變量的值是否相等

例子1

var str1 = "666" ; // 字符串

var str2 = "666" ; // 字符串

alert(str1==str2) ; // 打印出 true,即相等

例子2

var str1 = 666 ;? // 整型

var str2 = "666" ; // 字符串

alert(str1==str2) ; // 打印出 false,即不相等

差別:

在例子1中,2個變量都是字符串類型,且值都相等,因此打印出true;

在例子2中,變量1是整型,變量2是字符串,類型不相等,因此打印出false ;


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容