一、明確概念
1) 「==」 : 相等運算符號
2)「===」: 嚴格運算符號
二、嚴格運算子「===」的運算規則如下:
(1) 不同型別值比較時,如果兩個值的型別不同,直接返回false;
(2) 同一類的原始型別值(數值、字串、布林值)之間比較時,值相同就返回true,值不同就返回false;
(3) 同一類的復合型別值(物件、陣列、函式)之間比較時,不是比較它們的值是否相等,而是比較它們是否指向同乙個物件;
(4) undefined和 null 與自身嚴格相等。
三、相等運算子「==」的運算規則如下:
(1)比較同型別的資料時,與嚴格運算子完全一樣。
(2)比較不同型別的資料時,相等運算子會先將資料進行型別轉換,然後再用嚴格相等運算子比較。
其中,型別轉換規則如下:
1) 原始型別值之間的比較,會首先轉換成數值型別,然後再進行比較。字串和布林值都會轉換成數值。
2) 物件與原始型別值比較物件(數值和函式)與原始型別的值比較時,物件轉化成原始型別的值,再進行比較。
3) undefined和null與其他型別的值比較時,結果都為false,它們互相比較時結果為true。
四、js的資料型別
1) 5種簡單資料型別(也稱為基本資料型別):undefined、null、boolean、number和string;
2)1種複雜資料型別object,object本質上是由一組無序的名值對組成的;
3)除此之外,還包括2種複雜的資料型別:array,function 。
五、**比較
1 ("" == 0); //
true
2 (0 == false); //
true
3 ("" == false); //
true
前三個例子均為true,是因為不同型別的值進行 "==" 比較時,均先轉化為數值型別,三者的數值型別均為0,故相等。
4 ("" === 0); //
false
5 (0 === false); //
false
6 ("" === false); //
false
這三個例子均為false,是因為不同型別的值進行 "===" 比較時,直接返回false。
7 (unsigned == null); //
true
8 (unsigned === null); //
false
解釋,undefined值是派生自null值的,因此ecma-262規定對它們的相等性測試(" == ")要返回true。
NodeJS的安裝與配置
選擇系統對應版本 windows x64,安裝包以.msi結尾 2 雙擊執行安裝包,按提示操作 3 設定安裝路徑。4 點選新增到環境變數 5 按提示操作即可 6 等待安裝完成 7 安裝完成 8 如果安裝失敗,可以嘗試用管理員身份執行安裝包 1 搜尋 cmd 以管理員身份執行 2 定位到安裝包位置,再...
nodejs 安裝與配置
參考 直接安裝 在dos命令提示符輸入 node version 檢查版本號 輸入npm v 檢查npm版本號 安裝相關環境 輸入npm install gd express registry npm config set registry 安裝express 在安裝路徑下新建node global...
Nodejs類與繼承
方式一 之前建立乙個類 function animal name animal.prototype.showname function var tom new animal tom var jerry new animal jerry tom.showname jerry.showname 方式二 ...