讀you don't know js提取自己沒注意的點

1. =====區別
之前理解:前者檢查值的等價性,而後者檢查值和類型兩者的等價性,一般隨意兩者隨意使用
讀書之後理解:前者在允許強制轉換的條件下檢查值的等價性,而後者是在不允許強制轉換的條件下檢查值的等價性。判斷是何時使用哪個的規則:

  • 如果一個比較的兩個值之一可能是true或false值,避免==而使用===
  • 如果一個比較的兩個值之一可能是這些具體的值(0,"",或[] —— 空數組),避免==而使用===
  • 在 所有 其他情況下,你使用==是安全的。它不僅安全,而且在許多情況下它可以簡化你的代碼並改善可讀性。

也就是當你可以確定你比較的值的時候,使用 == 是安全的,當你不能確定你比較的值的時候,使用===, 這在項目中尤其需要注意,有些使用接口返回的字段比較,並不能確定接口是否一定返回了該字段。

2. 閉包
在JavaScript中閉包最常見的用法就是模塊模式。模塊讓你定義對外面世界不可見的私有實現細節(變量,函數),和對外面可訪問的公有API。

function User(){
	var username, password;
	function doLogin(user,pw) {
		username = user;
		password = pw;
		// 做登錄的工作
	}
	var publicAPI = {
		login: doLogin
	};
	return publicAPI;
}
// 創建一個 `User` 模塊的實例
var fred = User();
fred.login( "fred", "12Battery34!" );
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章