JS中==和===的區別

来源:https://www.cnblogs.com/cxuep/archive/2022/09/01/16648248.html
-Advertisement-
Play Games

== 和 的區別 使用雙等號進行相等判斷時,如果兩邊的類型不一致,則會進行強制類型轉化後再進行比較; 使用三等號進行相等判斷時,如果兩邊的類型不一致時,不會做強制類型準換,直接返回 false; ==的判斷流程 首先判斷兩者類型是否相同,相同的話就比較兩者的大小;類型不相同的話,就會進行類型轉換。 ...


== 和 ===的區別

使用雙等號進行相等判斷時,如果兩邊的類型不一致,則會進行強制類型轉化後再進行比較;
使用三等號進行相等判斷時,如果兩邊的類型不一致時,不會做強制類型準換,直接返回 false;

==的判斷流程

  1. 首先判斷兩者類型是否相同,相同的話就比較兩者的大小;類型不相同的話,就會進行類型轉換。
  2. 判斷是否在對比 nullundefined,是的話就會返回 true
  3. 判斷兩者類型是否為 String 和 Number,是的話就會將字元串轉換為 number
  4. 判斷其中一方是否為 Boolean,是的話就會把 Boolean 轉為 Number 再進行判斷。
  5. 判斷其中一方是否為 Object 且另一方為 String、Number 或者 Symbol,是的話就會把 Object 轉為原始類型再進行判斷。

強制類型轉換規則

string轉number

String 類型的值轉換如同使用 Number() 函數進行轉換,如果包含非數字值則轉換為 NaN,空字元串為 0。

  • 如果字元串包含數值字元,包括數值字元前面帶加、減號的情況,則轉換為一個十進位數值。如果數值前有前置0,會忽略。
  • 如果字元串包含有效的浮點值格式,則會轉換為相應的浮點值(同樣,忽略前面的零)。
  • 如果字元串包含有效的十六進位格式如"0xf",則會轉換為與該十六進位值對應的十進位整數值。
  • 如果是空字元串(不包含字元),則返回0。
  • 如果字元串包含除上述情況之外的其他字元,則返回NaN。

Boolean轉Number

true轉1,false轉0。其中Boolean為false的值有null、undefined、false、+0、-0、NaN、空字元串

對象轉基本類型

對象在轉換基本類型時,會調用 valueOf 和 toString。如果傾向於將對象轉換為Number,則調用valueOf();傾向於轉換為String類型,則調用toString()。

  1. 普通對象:valueOf方法返回對象本身,而toString方法返回"[object ObjectName]";
  2. Array:valueOf方法放回數組本身。而toString方法將 Array 的每個元素轉換為字元串,並將它們依次連接起來,兩個元素之間用英文逗號作為分隔符進行拼接
  3. Date:valueOf方法放回時間戳。而toString方法返回日期的文本表示。
  4. Function:valueOf方法返回方法本身。而toString方法返回"function functionname() { [native code] }"。

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

-Advertisement-
Play Games
更多相關文章
  • 我們在日常程式設計中,經常會遇到樹狀結構的表示,例如組織機構、行政區劃等等。這些在資料庫中往往通過一張表進行展示。這裡我們以一張簡單的行政區劃表為例進行展示,在實際使用過程中,可以為其添加其他描述欄位以及層級。表中通過ID和PID關聯,實現樹狀結構的存儲。建表以及數據語句如下:-- Create t ...
  • 前一天從自建MySQL遷移到雲上RDS,在執行某個併發較高的業務時出現了大量鎖等待,客戶當時升級了實例到最高規格,但故障依舊。 ...
  • 自從2020年底開始接觸 PostgreSQL 以來就喜歡上了這個資料庫,個人感覺比 MySQL 好用,多表聯合查詢性能好很多,同時也不存在 SQLServer 的版權授權費用問題。搭配 .NET 開發很好用,目前手裡的項目全部都是採用 PostgreSQL 進行數據支撐的。 本文主要說一下在 Wi ...
  • 近期,ArchSummit 全球架構師峰會(以下簡稱:AS峰會)北京站圓滿落幕。AS峰會是極客邦科技旗下 InfoQ 中國團隊推出的重點面向高端技術管理者、架構師的技術會議。AS峰會北京站以“升級架構思維,支撐業務發展”為目標,邀請各廠商展示先進技術在行業中的典型實踐,以及技術在企業轉型、發展中的推 ...
  • 1、您的應用程式必須使用正式的圖像。正式的文字,在上板時不要出現測試類圖像,例如一個母親嬰兒商店,你上傳了一個不相關的圖片。或者用測試字眼寫的圖像,都不能。文本中也不能出現測試類的單詞,如測試等。如果您以前在後臺上傳過測試字眼的產品,請先刪除它並重新登錄。 2、你的APP還沒有完成,如果模塊還沒有完 ...
  • 一、前言 AVCaptureSession 是 AVFoundation 的核心類,用於管理捕獲對象 AVCaptureInput 的視頻和音頻的輸入,協調捕獲的輸出 AVCaptureOutput。 AVCaptureOutput 的輸出有兩種方法: 一種是直接以 movieFileUrl 方式輸 ...
  • 用戶在瀏覽App的頁面時,如果經常跳出來不喜歡的彈窗廣告不僅損害用戶的瀏覽體驗,也讓用戶對廣告內容產生反感。作為App的營銷人員,線上投放廣告時如何精準捕捉用戶需求,同時不引起用戶的抵觸心理十分重要。當用戶不願意將自己的個人信息,例如年齡、性別、興趣愛好等隱私數據授權給App時,基於用戶正在瀏覽的頁 ...
  • 一、前言 動畫一直是 iOS 開發中很重要的一部分。設計良好,效果炫酷的動畫往往能對用戶體驗的提升起到很大的作用,在這裡將自己學習 iOS 動畫的體會記錄下來,希望能對別人有所幫助。 iOS 的動畫框架,即 CoreAnimation,本身十分龐大和複雜,這裡暫時分兩個部分進行介紹,分別是 UIVi ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...