国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

區分JS中的undefined,null,"",0和false_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 20:35:59
文檔

區分JS中的undefined,null,"",0和false_javascript技巧

區分JS中的undefined,null,"",0和false_javascript技巧:在程序語言中定義的各種各樣的數據類型中,我們都會為其定義一個空值或假值,比如對象類型的空值null,.NET Framework中數據庫字段的空值DBNull,boolean類型的假值false等等。在JavaScript中也有很多種的空值和假值,那么它們都有什么共同點和不
推薦度:
導讀區分JS中的undefined,null,"",0和false_javascript技巧:在程序語言中定義的各種各樣的數據類型中,我們都會為其定義一個空值或假值,比如對象類型的空值null,.NET Framework中數據庫字段的空值DBNull,boolean類型的假值false等等。在JavaScript中也有很多種的空值和假值,那么它們都有什么共同點和不

在程序語言中定義的各種各樣的數據類型中,我們都會為其定義一個"空值"或"假值",比如對象類型的空值null,.NET Framework中數據庫字段的空值DBNull,boolean類型的假值false等等。在JavaScript中也有很多種的"空值"和"假值",那么它們都有什么共同點和不同點呢?

其實標題里面我已經列出了JavaScript中所有的"空值"和"假值",除了boolean值本身就是true和false這兩種情況外,其它數據類型的"空值"主要是undefined和defined這兩大類。這些空值的類型分別是:
代碼如下:
typeof(undefined) == 'undefined'
typeof(null) == 'object'
typeof("") == 'string'
typeof(0) == 'number'
typeof(false) == 'boolean'

這五個值的共同點是,在if語句中做判斷,都會執行false分支。當然從廣義上來看,是說明這些數值都是其對應數據類型上的無效值或空值。還有這五個值作!運算,結果全為:true。

這幾個值中也有不同,其中undefined和null比較特殊,雖然null的類型是object,但是null不具有任何對象的特性,就是說我們并不能執行null.toString()、null.constructor等對象實例的默認調用。所以從這個意義上來說,null和undefined有最大的相似性。看看null == undefined的結果(true)也就更加能說明這點。不過相似歸相似,還是有區別的,就是和數字運算時,10 + null結果為:10;10 + undefined結果為:NaN。

另外""、0和false雖然在if語句表現為"假值",可它們都是有意義數據,只是被作為了"空值"或"假值",因為:"".toString(),(0).toString()和false.toString()都是合法的可執行表達式。

其實這5個值在上面所說的這些差異里,并不太會給程流程控制帶來太大的問題,那么要區分它們什么呢?需要注意區分的是這些值在轉換為String時的差異是比較大的,它們到String的轉換關系是:
代碼如下:
String(undefined) -> "undefined"
String(null) -> "null"
String("") -> ""
String(0) -> "0"
String(false) -> "false"

這個轉換關系在做字符串累加時需要特別的注意,否這會出些意想不到的問題,今天就遇到一個null被默認轉為"null"給弄得迷糊了好一陣子。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

區分JS中的undefined,null,"",0和false_javascript技巧

區分JS中的undefined,null,"",0和false_javascript技巧:在程序語言中定義的各種各樣的數據類型中,我們都會為其定義一個空值或假值,比如對象類型的空值null,.NET Framework中數據庫字段的空值DBNull,boolean類型的假值false等等。在JavaScript中也有很多種的空值和假值,那么它們都有什么共同點和不
推薦度:
標簽: javascript null false
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚欧美| 国产高清一区 | 国产欧美成人一区二区三区 | 最新亚洲 | 九九九国产| 亚洲综合一区二区精品久久 | 国产69精品久久 | 亚洲视频在线观看 | 欧区一欧区二欧区三免费 | 欧美精品aaa久久久影院 | 亚洲欧美日韩激情在线观看 | 日韩欧美在线综合网 | 亚洲国产精品免费观看 | 欧美视频精品在线 | 欧美激情国产日韩精品一区18 | 性久久久久久 | 国产成人精品久久二区二区 | 欧美激情国产日韩精品一区18 | 在线日韩欧美 | 另类欧美日韩 | 日韩欧美片 | 99久久国产亚洲综合精品 | 国产91精品久久久久久 | 日韩在线第二页 | 一区高清 | 性新婚a大黄毛片 | 亚洲一区二区久久 | 亚欧美| 精品欧美一区二区三区在线 | 一区二区久久 | 久久精品日日躁夜夜躁欧美 | 99精品欧美一区二区三区综合在线 | 久久精品一区二区三区不卡牛牛 | 午夜又黄又爽 | 国产高清一区二区三区 | 国产一区亚洲欧美成人 | 久久国产精品高清一区二区三区 | 亚洲精彩视频在线观看 | 国产不卡视频在线观看 | 最新偷窥盗摄视频在线 | 久久久久久91精品色婷婷 |