JavaScript中何時使用===,何時使用==

来源:https://www.cnblogs.com/iceflorence/archive/2018/04/21/8903850.html
-Advertisement-
Play Games

建議儘量都使用 ,原因如下: 一致性:使用==對一致性沒有任何好處,那麼為什麼不避免使用呢。 簡單和性能:一般來說, 是最簡單的操作符,因為它不用進行類型轉換。JavaScript引擎的性能參差不齊,但是在大部分瀏覽器中 比==速度更快。 即使會自動轉換,但並不總是按你需要的方式轉換:比如7+“3” ...


建議儘量都使用===,原因如下:

  • 一致性:使用==對一致性沒有任何好處,那麼為什麼不避免使用呢。
  • 簡單和性能:一般來說,===是最簡單的操作符,因為它不用進行類型轉換。JavaScript引擎的性能參差不齊,但是在大部分瀏覽器中===比==速度更快。
  • 即使會自動轉換,但並不總是按你需要的方式轉換:比如7+“3”;//"73"。

如果非要使用==,可參考如下兩種情況:

1,判斷對象的屬性是否存在

var obj = {}
if (obj.a == null) {
    // 這裡相當於 obj.a === null || obj.a === undefined 的簡寫形式
    // 這是jquery源碼中推薦的寫法
}

2,判斷函數的參數是否存在

function fn(a, b) {
    if (b == null) {
        // 這裡相當於 b === null || b === undefined 的簡寫形式
    }
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 相信大部分人都被Android Studio環境配置搞得很頭痛,至少我為這個配置花費了將近5h,Android Studio作為一款強大的IDE,比起Eclipse來說,更加方便Android的開發,但作為新手的我們不應該因為Android Studio的配置而打退堂鼓,這篇文章儘量從配置原理方面來... ...
  • 【效果】(這裡下載的軟體收費的試用有水印) 【推薦】這裡推薦一個圖標網http://iconfont.cn/。以上圖標來自此圖標網 【項目結構】 【步驟】 ①創建佈局文件,寫底部導航欄 ②定義Fragment 【提示】可以通過下圖方式創建 對於生成的Fragment不用作修改,對應的佈局中設置一個背 ...
  • Angular擁有自己的HTTP庫,可以用於調用外部API。 在JavaScript世界里有三種方式可以實現非同步請求,Callback,Promise與Observable。Angular傾向於使用Observable方式。 HTTP庫屬於Angular中獨立的模塊,這意味著當使用時需要導入它。 舉 ...
  • 《html 5+css 3網頁設計經典範例(附cd光碟1張)》共分為18章,涵蓋了html 5和css3中各方面的技術知識。主要內容包括html 5概述、html 5與html 4的區別、html 5的結構、canvas繪圖功能、網路上的視頻和音頻應用、表單應用、全新的文件應用、地理位置信息處理、w ...
  • 《HTML5+CSS3網站佈局應用教程》全面介紹HTML 5與CSS 3進行Web設計的知識。全書由16章組成。主要內容包括:主流瀏覽器對HTML 5的支持情況、HTML 5與HTML4在語法上的區別、結構元素、表單與文件、圖形繪製、多媒體播放。同時還詳細介紹CSS 3的相關知識,包括新增選擇器、文 ...
  • 面對那些晦澀的html書你不禁要問:“難道要成為專家之後才能讀懂這些?”那麼,你應該選擇《head first html與css、xhtml(中文版)》真正來學習html。這本書對你來說,將是一個系統學習創建工業標準web頁的體驗,而不只簡單地閱讀:你將玩游戲、解決謎題、探索秘密,並以你從未想過的方 ...
  • HTML & CSS 設計與構建網站採用有別於許多傳統編程書籍的新穎編排方式,將使您收到事半功倍的學習效果。每一頁都在短小精悍的示例代碼的引導下,簡明直觀、直截了當地闡述一個新主題。 《HTML & CSS 設計與構建網站》還提供關於如何組織和設計網頁的實用信息,以便幫助您創建充滿魅力、易於使用的網 ...
  • npm作為下載node附送的大禮包,大家一定不會陌生。 然而關於npm,估計大量的只是用到npm install XXX以及npm run XXX。 其實這裡邊還有很多有意思的命令&參數。關於npm,大概有兩個作用: 下載相關的操作 下載主要就是圍繞著install這一個命令來的。 install ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...