JavaScript undefined與null區別
undefined和null有點類似,都表示"沒有"的意思。
然而類似不等於相同,下面就通過程式碼例項總結一下它們兩者之間的區別。
一.資料型別區別:
undefined型別只有一個值,undefined。
null型別只有一個值,null。
也就是說undefined值和null值分別屬於不同的資料型別,並且這兩個資料型別都只有一個值。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼console.log(typeof undefined) console.log(typeof null)
第一行輸出沒問題,正確列印undefined型別。
第二行列印結果為object,難道null不是null型別。
原因解釋:這是ES一個設計失誤,原本正確的結果應該是null,現在只能將錯就錯,或許以後版本會修正此問題。
二.存在場景不同:
(1).undefined通常是未初始化變數的值:
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let num; var webName; console.log(num); console.log(webName);
兩個變數在宣告的時候都未曾賦值,列印結果都為undefined。
(2).null通常用來標識一個空物件:
比如當我們用document.getElementBy()方法獲取一個元素的時候,如果此元素不存在,那麼返回值就是null。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function() { let odiv=document.getElementById("shwo"); alert(odiv); } </script> </head> <body> <div id="show"></div> </body> </html>
一不小心id值寫錯了,自然無法獲取到對應div物件,那麼odiv就被賦值為null。
程式碼執行效果截圖如下:
更多資料型別相關知識參閱JavaScript 資料型別一章節。
相關文章
- JavaScript中的“undefined、null”區別?JavaScriptUndefinedNull
- undefined與null的區別UndefinedNull
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- undefined 和 null 區別?UndefinedNull
- null和undefined區別NullUndefined
- JavaScript 05筆記(null、undefined、NaN的區別)JavaScript筆記NullUndefinedNaN
- null 和 undefined 的區別NullUndefined
- null 和 undefined 的區別!NullUndefined
- JS 應用篇(一):Undefined與Null的區別JSUndefinedNull
- javascrit中undefined和null的區別JavaUndefinedNull
- js中null和undefined的區別JSNullUndefined
- js中undefined和null的區別JSUndefinedNull
- JS 的型別(null 和 undefined 的區別)JS型別NullUndefined
- undefined與null與?. ??UndefinedNull
- JavaScript基本資料型別之undefined和nullJavaScript資料型別UndefinedNull
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- JavaScript基本概念整理(null、undefined)JavaScriptNullUndefined
- Null 與 “” 的區別Null
- null == undefined ?NullUndefined
- 探索javascript中null和undefined的深淵JavaScriptNullUndefined
- undefined和nullUndefinedNull
- null 和 undefinedNullUndefined
- python None與Null 的區別PythonNoneNull
- JS中判斷null、undefined與NaN的方法JSNullUndefinedNaN
- MySQL中is not null和!=null和<>null的區別MySqlNull
- JavaScript 與TypeScript區別JavaScriptTypeScript
- JavaScript與ECMAScript 區別JavaScript
- undefined會變為null嗎?UndefinedNull
- Javascript中“==”與“===”的區別JavaScript
- JavaScript與DropDownList 區別分析JavaScript
- 主題:Oracle中Null與空字串''''的區別OracleNull字串
- NULL和0的區別Null
- undefined與除去null的其他資料比較返回都是falseUndefinedNullFalse
- [轉] linux下 /dev/null與/dev/zero的區別LinuxdevNull
- 0、""(空字串)、Null、Empty、與 Nothing 的區別 (轉)字串Null
- [Typescript] Accept Anything Except Null or UndefinedTypeScriptNullUndefined
- PHP7 ?? 與 ?: 的作用和區別(null合併運算子, null條件運算子)PHPNull
- 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的區別devNull