如果其中乙個運算元的型別為 boolean ,那麼,首先將它轉換為數字型別,false 轉換為 0, true 將轉換為 1。
如果其中乙個運算元的型別是字串,另外乙個為數字型別,那麼,將字串轉換為數字進行比較。
如果其中乙個運算元的型別是字串,另外乙個為 object 型別,那麼,將呼叫物件的 tostring 方法之後,比較字串。
如果其中乙個運算元的型別是數字型別,另外乙個為 object 型別,那麼,將物件轉換為數值後進行數字比較。
以下的規定了一些特殊的比較:
null 和 undefined 是相等的。
null 和 undefined 不會轉換為任何其他型別
如果任何乙個操作的結果為 nan,那麼相等比較返回 false,不相等比較返回 true。
注意,即使兩個運算元都為 nan,返回結果一樣是 false,也就是說,nan 不等於 nan。
如果兩個運算元都是物件,那麼比較它們引用的值,如果引用同乙個物件,那麼,返回真,否則,返回假。
alert(null == undefined); //view codetrue
alert(undefined == null); //
true
alert(
true == 1); //
true
alert(false == 0); //
true
alert(true == 2); //
false
var obj ={};
alert(10 == obj); //
false
完全相同的比較 === 和不完全相等 !==
完全相同的比較用來比較不進行轉換是否相等,例如:
var a = "100";view codevar b = 100;
alert(a == b); //
true
alert(a === b); //
false
== 比較將返回真,因為 「100」 首先轉換為數字 100, 然後與數字 100 進行比較,結果相等。
=== 比較將返回假,因為字串 」100」 不經過轉換的話,與數字 100 不相等。
!== 用於比較在不轉換的情況下,是否不相等。
alert(a != b); //view codefalse
alert(a !== b); //
true
第一種情況將返回假,因為轉換後是相等的。第二種情況將返回真,因為不經過轉換的話,他們乙個是字串,乙個是數字,是不相等的。
js中的相等與不等運算
以下的規定了一些特殊的比較 null 和 undefined 是相等的。null 和 undefined 不會轉換為任何其他型別 如果任何乙個操作的結果為 nan,那麼相等比較返回 false,不相等比較返回 true。注意,即使兩個運算元都為 nan,返回結果一樣是 false,也就是說,nan ...
相等與不等的轉化
相等關係和不等關係是數學量之間的兩種很重要的關係,他們都屬於確定性的關係,這兩種關係對應的數學刻畫方式是等式和不等式 但是在高中數學題目中,有些表面上看是相等關係,我們可以轉化為不等關係求變數的取值範圍,有些是不等關係,卻其實表達的是相等關係。不等關係轉化為相等關係,主要是由於函式性質 1 的介入和...
JS中的boolean與相等判斷
let bool new boolean false console.log bool true console.log bool false console.log bool true console.log bool false 結果是 false,false,true,boolean那麼問題來...