摘要:判斷一個值是否是,只能用來判斷如果兩個都是字符串,每個位置的字符都一樣,那么相等否則不相等。如果一個是字符串,一個是數值,把字符串轉換成數值再進行比較。對象轉換成基礎類型,利用它的或者方法。核心內置類,會嘗試先于例外的是,利用的是轉換。
javascript-- == vs ===
高級語言層出不窮, 各個語言雖說思想一致,但仍有各自獨特的設計理念和語法, js有許多容易讓人迷惑的地方1. == vs ===
等于跟全等在js中很是讓人迷惑, 有一個比較有意思的是突然想到在 switch 語句中到底使用的哪種比較方法, 在比較之前先來看看下面的程序, 這下放心了, switch 用的就是 === 方式的比較, 其實在 ESlint 的語法檢測中推薦摒棄 == 的寫法, 采用 === 的寫法規范.
var a = "1"; switch (a) { case 1: console.log("=="); break; case "1": console.log("==="); break; default: } //===
== 和 === 更高層次, 首先來說 === 的比較規則
===比較規則:
1、如果類型不同,就[不相等] 2、如果兩個都是數值,并且是同一個值,那么[相等];(!例外)的是,如果其中至少一個是NaN,那么[不相等]。(判斷一個值是否是NaN,只能用isNaN()來判斷) 3、如果兩個都是字符串,每個位置的字符都一樣,那么[相等];否則[不相等]。 4、如果兩個值都是true,或者都是false,那么[相等]。 5、如果兩個值都引用同一個對象或函數,那么[相等];否則[不相等]。 6、如果兩個值都是null,或者都是undefined,那么[相等]
==比較規則:
1、如果兩個值類型相同,進行 === 比較。 2、如果兩個值類型不同,他們可能相等。根據下面規則進行類型轉換再比較: a、如果一個是null、一個是undefined,那么[相等]。 b、如果一個是字符串,一個是數值,把字符串轉換成數值再進行比較。 c、如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。 d、如果一個是對象,另一個是數值或字符串,把對象轉換成基礎類型的值再比較。對象轉換成基礎類型,利用它的toString或者valueOf方法。js核心內置類,會嘗試valueOf先于toString;例外的是Date,Date利用的是toString轉換。非js核心的對象,令說(比較麻煩,我也不大懂) e、任何其他組合,都[不相等]
== 相對于 === 如果對象類型不同的時候會增加一層自動轉化, 在寫 js 盡量全部用 ===代替, 可以省去不必要的 bug 陷阱.另外一個需要注意的是 switch 中的數據類型可以是任意類型, 與 c , java 等有別.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107212.html
摘要:對于,除非使用箭頭函數,它的回調函數的將會變化。使用測試下面的代碼,結果如下打印打印要點使用的規則要求所有回調函數必須使用箭頭函數。 譯者按: JS 騷操作。 原文:For vs forEach() vs for/in vs for/of in JavaScript 譯者: Fundebug 本文采用意譯,版權歸原作者所有 我們有多種方法來遍歷 JavaScript 的數組或者...
摘要:提供一種可選的決策方案換一種思維看待決策能夠做的事情,也可以,反之也是,所以選擇它們很簡單,如果公司前端多,就選擇,如果公司后端多,就選擇,當然這只是個人觀點哈。 php和javascript都是非常流行的編程語言,剛剛開始一個服務于服務端,一個服務于前端,長久以來,它們都能夠和睦相處,直到有一天,一個叫做node.js的JavaScript運行環境誕生后,再加上PHP的swoole擴...
摘要:元素和組件實例都不表示真實元素。我希望這篇文章能夠幫助你理清這些術語參考資料翻譯成支撐實例來自于理解中方法創建組件的聲明式編程和命令式編程的比較對循環提示增加的研究精髓之一算法 本篇為譯文,原文出處:React Elements vs React Components vs Component Backing Instances 許多人可能聽說過 Facebook 的 React 庫,...
摘要:由于本身不能個性化配置,有時可能會引起不適,但是至少保證團隊成員可以輕易統一代碼風格。就是將多于一個字母的合成一個字形。自從年雙十一正式上線,累計處理了億錯誤事件,得到了金山軟件等眾多知名用戶的認可。 譯者按: IDE是生產力的保證! 原文:Visual Studio Code Settings and Extensions for Faster JavaScript Develop...
摘要:以下簡稱是微軟開發同時支持和系統且開放源代碼的代碼編輯器,并且是開源免費使用的,也是當下最受歡迎的代碼編輯器之一官網下載地址文章已更新插件折騰記二經過我一段時間的使用,發現一些插件是必不可少的,現在給大家推薦一些非常實用的插件下載好安裝打開 Visual Studio Code(以下簡稱vs code) 是 微軟開發同時支持Windows、Linux、和macOS系統且開放源代碼的代碼...
摘要:以下簡稱是微軟開發同時支持和系統且開放源代碼的代碼編輯器,并且是開源免費使用的,也是當下最受歡迎的代碼編輯器之一官網下載地址文章已更新插件折騰記二經過我一段時間的使用,發現一些插件是必不可少的,現在給大家推薦一些非常實用的插件下載好安裝打開 Visual Studio Code(以下簡稱vs code) 是 微軟開發同時支持Windows、Linux、和macOS系統且開放源代碼的代碼...
閱讀 3820·2021-10-12 10:12
閱讀 1453·2021-10-11 10:58
閱讀 2290·2021-10-09 10:01
閱讀 2597·2021-09-24 09:48
閱讀 2699·2021-09-09 11:38
閱讀 3526·2019-08-30 15:44
閱讀 1724·2019-08-30 14:22
閱讀 518·2019-08-29 12:42