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
- 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
- JavaScript基本概念整理(null、undefined)JavaScriptNullUndefined
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- null 和 undefinedNullUndefined
- JS中判斷null、undefined與NaN的方法JSNullUndefinedNaN
- JavaScript與ECMAScript 區別JavaScript
- JavaScript 與TypeScript區別JavaScriptTypeScript
- [Typescript] Accept Anything Except Null or UndefinedTypeScriptNullUndefined
- undefined會變為null嗎?UndefinedNull
- Javascript中“==”與“===”的區別JavaScript
- 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的區別devNull
- PHP7 ?? 與 ?: 的作用和區別(null合併運算子, null條件運算子)PHPNull
- JavaScript 中substr與 substring 的區別JavaScript
- Object.create(null) 和 {} 的區別ObjectNull
- 來學習typescript 吧! --1基礎型別(string、number、 boolean、void 、Null、undefined )TypeScript型別BooleanNullUndefined
- JavaScript switch與if else語句的區別JavaScript
- [Javascript] Replace undefined with void 0JavaScriptUndefined
- JavaScript中apply、call、bind的區別與用法JavaScriptAPP
- Object.create(null) 和 {} 區別是什麼ObjectNull
- Python中none和null的區別詳解!PythonNoneNull
- mysql 空值(null)和空字元('')的區別MySqlNull字元
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- [譯] 理解 JavaScript 中的 undefinedJavaScriptUndefined
- JavaScript中的“=、==、===”區別JavaScript