91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中equality(==)怎么用

發布時間:2020-10-12 15:11:56 來源:億速云 閱讀:196 作者:小新 欄目:web開發

這篇文章主要介紹了JavaScript中equality(==)怎么用,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

神奇之處在哪里

最近負責的項目有涉及到前端的,所以嘗試性的寫了寫js。在處理一個字段非空值的時候,用了 tagert_value == ''來進行判斷,然后發生了一件非常奇怪的事情,有用戶反饋,自己的target_value = 0的時候,非空值校驗不通過。在調試問題的時候,在console狀態欄中做了如下嘗試:

> 0 == ''
< true

我似乎知道問題出在哪里了。。。沒有了解清楚 == 的判斷邏輯,所以我打算找來官方的文檔瞅瞅。

官方解釋

Equality (==, !=)

1、If the types of the two expressions are different, attempt to convert them to string, number, or Boolean.

2、NaN is not equal to anything including itself.

3、Negative zero equals positive zero.

4、null equals both null and undefined.

5、Values are considered equal if they are identical strings, numerically equivalent numbers, the same object, identical Boolean values, or (if different types) they can be coerced into one of these situations.

6、Every other comparison is considered unequal.

查看了官方關于equality的解釋,看到第一個就知道為什么結果會是true了。如果表達式兩邊的類型不一致,比較方法會先嘗試將他們轉換為string、number、Boolean,然后在進行比較(相等的條件:同樣的string、數學上相等的數字、相同的object、相同的布爾值)。
看到這里,基本清楚了,在比較 0 == ’‘的時候先進行了類型裝換,那我們來看一下到底是轉換的誰啊?

> Number('')
< 0

> var b= ''
> b.toString()
<'0'

非常明顯了,int == string 的時候是先將string裝換為對應的int值,然后進行比較。

如何避免嘞?

下面強烈介紹 === (strict equality)。嚴格等于,看著是不是非常厲害呀。人家的官方叫法是Identity (===. !==)。Identity 有點類型懸疑破案的感覺了。
看一下官方的介紹:

Identity (===. !==)
These operators behave identically to the equality operators except no type conversion is done, and the types must be the same to be considered equal.

在日常開發中,如果沒法保證比較表達式兩遍的變量的類型一致,建議使用 Identify(===)來比較是否相等。如果變量類型一致,就可以直接使用Equality(==)來比較了。

感謝你能夠認真閱讀完這篇文章,希望小編分享JavaScript中equality(==)怎么用內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白山市| 桂阳县| 南岸区| 班戈县| 武鸣县| 六盘水市| 清水县| 白河县| 华容县| 北宁市| 尼玛县| 方城县| 当雄县| 太仆寺旗| 夏邑县| 正定县| 磐石市| 汶上县| 工布江达县| 淮滨县| 玉林市| 稻城县| 陇川县| 勐海县| 柏乡县| 喀喇沁旗| 盘山县| 元朗区| 泾源县| 沧源| 雷州市| 丹阳市| 宁安市| 桃园市| 黑水县| 获嘉县| 新营市| 淮安市| 襄垣县| 安乡县| 凤山县|