真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript中的假值是什么

本篇內(nèi)容介紹了“JavaScript中的假值是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)古浪免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

在JavaScript中,false、0和其他形式的數(shù)字等的零(“-0”、“+0”、“0.0”和“0x0”)、null、undefined、NaN、“document.all”、“[]”、“{}”、“""”(空字符串)等值都是假值。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript中的假值

  • false

  • 0和其他形式的數(shù)字等的零-0、+00.00x0(信貸RBT為十六進(jìn)制形式)
    - `”“,’‘ 和 ```-長度的字符串0

  • null

  • undefined

  • NaN

  • document.all (僅在HTML瀏覽器中)這是一個(gè)奇怪的。document.all是一個(gè)假對象,帶有typeof as undefined。它是IE11之前的IE中的Microsoft專有功能,并作為“蓄意違反JavaScript規(guī)范”而添加到HTML規(guī)范中,因此為IE編寫的網(wǎng)站在嘗試訪問時(shí)不會(huì)中斷document.all.something。這是虛假的,因?yàn)樗?code>if (document.all)曾經(jīng)是在條件注釋之前檢測IE的流行方法。請參閱為什么document.all虛假?詳情
    “ Falsey”僅表示JavaScript的內(nèi)部ToBoolean函數(shù)return false。 ToBooleanunderlies !value,value ? ...: …;和if (value)。這是其官方規(guī)范(2018年工作草案)(自1997年第一個(gè)ECMAscript規(guī)范以來唯一的變化就是添加了ES6的Symbols,它們始終是真實(shí)的):

  • []

  • {}

  • ""(空字符串)

與==(寬松平等)的比較

值得一談的是falsy值與的松散比較==,這會(huì)使用ToNumber()并可能由于潛在的差異而引起混淆。它們有效地分為三類:

  • false, 0, -0, "", '' 彼此匹配 ==

  • 例如false == "",'' == 0因此4/2 - 2 == 'some string'.slice(11);

  • null, undefined==

  • 例如,null == undefined但是undefined != false

  • 這也是值得一提的是,雖然typeof null回報(bào)'object',null是不是一個(gè)對象,這是一個(gè)長期的錯(cuò)誤/怪癖這是不固定的,以保持兼容性。它不是一個(gè)真正的對象,并且對象是真實(shí)的(document.all當(dāng)在HTML中實(shí)現(xiàn)Javascript時(shí)會(huì)發(fā)生“惡意違反” )

  • NaN 不匹配任何東西,用=====,甚至沒有自己
    例如NaN != NaN,NaN !== NaNNaN != false,NaN != null

  • 對于“嚴(yán)格相等”(===),沒有這樣的分組。只有false === false。

這就是為什么許多開發(fā)人員和許多樣式指南(例如standardjs)偏愛===且?guī)缀鯊牟皇褂玫脑蛑?code>==。

真正的價(jià)值觀 == false

“ Truthy”僅表示JavaScript的內(nèi)部ToBoolean函數(shù)return true。Javascript的應(yīng)用怪癖要知道的(和另一個(gè)很好的理由,更喜歡=====):這是可能的值是truthy(ToBoolean回報(bào)true),而且還== false。

你可能會(huì)認(rèn)為這if (value && value == false) alert('Huh?')是不可能發(fā)生的邏輯上的可能性,但對于以下情況,它將是可能的:

  • "0"'0'-它們是非空字符串,這是正確的,但Javascript會(huì)將==數(shù)字與等效字符串匹配(例如42 == "42")。因?yàn)?code>0 == false,如果 "0" == 0,"0" == false。

  • new Number(0)并且new Boolean(false)-它們是真實(shí)的對象,但是==看到它們的值which == false

  • 0 .toExponential(); -數(shù)值等于的對象 0

  • 任何類似的構(gòu)造都會(huì)為你提供虛假的值,并包裝在真實(shí)的類型中

  • [][[]][0](感謝cloudfeet對JavaScript的平等表鏈接)

一些更真實(shí)的價(jià)值

這些只是一些人可能期望是虛假的價(jià)值觀,但實(shí)際上是真實(shí)的。

  • -1 和所有非零負(fù)數(shù)

  • ' '," ","false",'null'… 所有非空字符串,包括只是空格串

  • 來自的任何內(nèi)容typeof,總是返回非空字符串,例如:

  • typeof null'object' 由于長期存在的錯(cuò)誤/怪癖而返回字符串)

  • typeof undefined(返回一個(gè)字符串'undefined'

  • 任何對象(document.all瀏覽器中的“惡意違反”除外;請記住,null盡管有typeof其他建議,但這實(shí)際上不是對象)。包含:

  • {}

  • []

  • function(){}() => {}(任何功能,包括空功能)

  • Error以及 Error

  • 任何正則表達(dá)式

  • new(包括new Number(0)new Boolean(false))創(chuàng)建的任何內(nèi)容

  • 任何符號
    true,1,"1"[1]回報(bào)true相比彼此==。

“JavaScript中的假值是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


新聞標(biāo)題:JavaScript中的假值是什么
文章路徑:http://weahome.cn/article/ipdhse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部