js中 的區別

2022-05-03 19:42:09 字數 1560 閱讀 4232

js中== ===的區別

js是弱型別語言,這兩個符號都是判斷值是否相等的操作符,== 與 === ,兩者相比,== 會做一定的型別轉換;而 === 不做型別轉換,所接受的相等條件更加嚴格。

等號==

比較之前先進行隱式轉換,型別相同與否無關,若型別一樣,則和===比較一樣進行嚴格比較。若不一樣:

若是undefined和null(注意:undefined和null屬於兩種基本資料型別),返回true。

若乙個是number型別,乙個是string型別,則把string型別轉換成number型別比較。如:"1" == 1;

若有乙個為boolean型別,則把boolean型別的值轉換成number型別的值來比較,boolean(2) == 1;boolean(2) == "1"; //ture

若乙個是number型別或者string型別,乙個是object型別,先把object型別轉換成基本資料型別,再進行比較。

注意:a == c; b==c; a == b?不一定,比如:

1

var str1 = new string("hello");23

var str2 = new string("hello");

4 str1 == "hello";

5 str2 == "hello";

6 alert(str1 == str2)

恒等號===

首先判斷兩個值的型別是否相等,如果不相等,直接返回false:"1" === 1;

然後,如果型別相同:若是undefined和null,返回true。

若是number型別,(1)一般的數值相等返回true,(2)如果乙個是nan,則返回false,兩個nan返回true,(3)0 -0 +0返回true。

若是string型別,完全相等時返回true。

若是boolean型別,相等時返回true。

若兩個變數引用的物件相同,返回true。

1

function

aa(name)

4var a1 = new aa("wo");

5var a2 = new aa("wo");

6var b =a1;

7var c =a1;

8 alert(c === b);          //

返回true

910 alert(a1 == a2); //

返回false

11           alert(a1 === a2); //

返回false

12           alert(a1.name == a2.name); //

返回false

13           alert(a1.name === a2.name);  //

返回false

js中 的區別

一 大括號,表示定義乙個物件,大部分情況下要有成對的屬性和值,或是函式體。如 var langshen 上面宣告了乙個名為 langshen 的物件,多個屬性或函式用,逗號 隔開,因為是物件的屬性,所以訪問時,應該用.點 來層層訪問 langshen.name langshen.age,當然我們也可...

js中 與 的區別

為了減少概念混淆,應該把 稱作 得到或者賦值 稱作 相等 稱作 嚴格相等 相同點 它們兩個運算子都允許任意型別的的運算元,如果運算元相等,返回true,否則返回false 不同 運算子稱作相等,用來檢測兩個運算元是否相等,這裡的相等定義的非常寬鬆,可以允許進行型別轉換 用來檢測兩個運算元是否嚴格相等...

js中const,var,let的區別

1.const定義的變數不可以修改,而且必須初始化。1 const b 2 正確 2 const b 錯誤,必須初始化 3 console.log 函式外const定義b b 有輸出值 4 b 5 5 console.log 函式外修改const定義b b 無法輸出2.var定義的變數可以修改,如果...