js 和 全等 的區別

2021-08-27 18:40:04 字數 782 閱讀 5171

==非嚴格判斷,只判斷數值,不判斷型別

1、同型別兩個變數比較,直接進行比較

2、不同型別兩個變數比較,先進行型別轉換,再比較

某些轉換規則:

如果乙個是字串,乙個是數值,把字串轉換成數值再進行比較。 

如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。 

如果乙個是物件,另乙個是數值或字串,把物件轉換成基礎型別的值再比較。物件轉換成基礎型別,利用它的tostring或者valueof方法。js核 心內建類,會嘗試valueof先於tostring;

例外的是date,date的tostring優先順序高於valueof。

自定義物件

var x = ,

valueof: function ()

};alert(x); // foo

"x=" + x; // "x=42"

x + "=x"; // "42=x"

x + "1"; // 421

x + 1; // 43

["x=", x].join(""); // "x=foo"

可以看到+時,和上面的結論一樣,但是alert , [x].join(「」)等這類特殊的表達,均呼叫tostring(),當作特例記住就行了

=== 嚴格全等判斷,型別,數值全判斷

1、如果型別不同,直接返回false

如 1 === "1" // false

1===1// true

2、型別相同,則進行值比較

JS中的全等和等於的區別

1.等於和不等於在判斷時遵循的一些規則 如果有乙個運算元是布林值,則在比較相等特性之前先將其轉化為數值型別 false 0 true 1 如果有乙個運算元是字串,另乙個運算元是數值,在比較相等之前會先將字串轉換成數值 如果乙個運算元是物件,另乙個不是,則會呼叫物件的valueof 方法,用得到的基本...

js基礎 11 相等和全等的區別

在進行比較前,會先進行強制轉換運算元 1,有乙個運算元是布林值,則轉化為數字,false變成0,true變成1 2,乙個是數字,乙個是字串,則字串轉化為對應數字 3,乙個是物件,乙個不是,則呼叫物件的valueof 方法,用得到的基本型別值比較值得注意的是 1,underfined和null不進行強...

全等和不全等

除了null和undefined型別外推薦使用全等 或不全等 所有的變數宣告都應初始化為非undefined值,這樣當我們 中遇到undefined時就能清楚的知道這個變數是未宣告,而不是未初始化 只有宣告而未初始化的變數js引擎會為我們自動賦值為undefined,這會導致我們混亂分不清這個變數到...