js 「 」「 」和「 」的區別

2022-07-17 12:36:09 字數 1018 閱讀 6085

這個問題再面試中經常被問到,說實話我都是懵的,乙個「=」和兩個「==」等的區別我還是知道的,就是三個「===」我完全是不知道的,因為我基本上都沒有遇到過且用到過,所以再這個問題上我是沒分的,人家考官就是主要考的是三個「===」呀~

賦值操作;

var x; x = 1; 即將1賦值給a.

等於號操作;

兩邊值型別不同的時候,要先進行型別轉換,再比較;

不做型別轉換,型別不同的一定不等。

是條件判斷語句中是否相等的意思,返回值為布林型; a==b 是a,b同一型別值的條件下,判斷變數a與b是否相等,相等返回「1」,不等返回「0」。

判斷規則:

1. 如果兩個值型別相同,進行「===」比較

2. 如果兩個值型別不同,他們可能相等。根據下面規則進行型別轉換再比較:

~如果乙個是null、乙個是undefined【true】

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

~如果任一值是true,把它轉換為「1」再比較;如果任一值是false,把它轉換為「0」再比較

~如果乙個是物件,另乙個是數值或字串,把物件轉換為基礎型別的值在比較。

物件轉換成基礎型別,利用它的tostring 或者 valueof 方法。

任何其他組合【false】

先判斷型別,若不是同一型別直接返回 false;

判斷規則:

1. 如果型別不同【false】

2. 如果兩個都是數值,並且是同乙個值【true】;但是若其中至少乙個是nan【false】。(判斷乙個值是否是nan,只能用 isnan() 來判斷)

3. 如果兩個都是字串,每個位置的字元都一樣【true】

4. 如果兩個值都是true,或者 false【true】

5. 如果兩個值都引用同乙個物件或函式【true】

6. 如果兩個值都是 null ,或者 undefined【true】

js的 和 的區別

1 對於string,number等基礎型別,和 是有區別的不同型別間比較,之比較轉化成同一型別後的值看值是否相等,如果型別不同,其結果就是不等,同型別比較,直接進行 值 比較,兩者結果一樣 function test string number 型別先比較,後值比較 if 1 1 else if ...

js和jq的區別

1 js和jq在使用方法和屬性上的區別 1 jq物件不能使用js物件的方法和屬性,js物件不能使用jq物件的方法和屬性。2 jq物件全部都是乙個陣列物件 3 js和jq的轉換 1.js物件轉換成jq物件的方式 js物件 2.jq物件轉換成js物件方式 jq物件 索引值 jq物件.get 索引值 3....

js 和 全等 的區別

非嚴格判斷,只判斷數值,不判斷型別 1 同型別兩個變數比較,直接進行比較 2 不同型別兩個變數比較,先進行型別轉換,再比較 某些轉換規則 如果乙個是字串,乙個是數值,把字串轉換成數值再進行比較。如果任一值是 true,把它轉換成 1 再比較 如果任一值是 false,把它轉換成 0 再比較。如果乙個...