js基礎_相等和不相等運算子
相等運算子
用來比較兩個值是否相等,如果相等會返回true,否則返回false。
使用==來做相等運算
當使用==來比較兩個值是否相等的時候,如果兩個值的型別不同,則會自動進行型別轉換,將其轉換為相同的型別(大部分情況都會轉換為數值),然後在比較。
比如:
console.log(“1”==1);//結果為true
Undefined衍生自null
所以這兩個值做相等判斷時,會返回true
比如:
console.log(undefined==null);//會返回true
NaN不和任何值相等,包括它本身。
比如:
console.log(NaN==NaN);//結果為false
判斷b的值是否等於NaN
比如:
var b=NaN;
console.log(b==NaN);//返回值為false,因為NaN的性質。
如果要判斷b的值是否等於NaN,只有用isNaN()函式判斷。
isNaN();是專門用來判斷一個值是否為NaN,如果該值是NaN則返回true,否則返回false。
比如:
var b=NaN;
console.log(isNaN(b));//返回值為true
不相等運算子
使用!=來做不相等運算。
用來比較兩個值是否不相等,如果不相等會返回true,否則返回false。
不相等運算子也會對變數進行自動型別轉換。
全等(===)
用來判斷兩個值是否全等,它和相等類似,不同的是它不會做自動型別轉換,如果兩個值的型別不同,直接返回false。
比如:
console.log(“123” === 123);//結果為false
console.log(null === Undefined);//結果為false,null和undefined相等但不全等。
不全等(!==)
用來判斷兩個值是否不全等,它和相等類似,不同的是它不會做自動型別轉換,如果兩個值的型別不同,直接返回true。
比如:
console.log(1!=1);//返回false
console.log(1!==1);//返回true