|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(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、相同的布爾值)。 > Number('')
< 0
> var b= ''
> b.toString()
<'0'非常明顯了,int == string 的時候是先將string裝換為對應的int值,然后進行比較。 如何避免嘞?下面強烈介紹 === (strict equality)。嚴格等于,看著是不是非常厲害呀。人家的官方叫法是Identity (===. !==)。Identity 有點類型懸疑破案的感覺了。 Identity (===. !==) 在日常開發中,如果沒法保證比較表達式兩遍的變量的類型一致,建議使用 Identify(===)來比較是否相等。如果變量類型一致,就可以直接使用Equality(==)來比較了。 以上就是JavaScript中equality(==)的用法解釋的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!