国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

JavaScript undefined及null區別實例解析

瀏覽:20日期:2023-10-20 16:58:41

在JavaScript中,將一個變量賦值為undefined或null,老實說,幾乎沒區別。

var a = undefined;

var a = null;

上面代碼中,a變量分別被賦值為undefined和null,這兩種寫法幾乎等價。

undefined和null在if語句中,都會被自動轉為false,相等運算符甚至直接報告兩者相等。

if (!undefined) console.log(’undefined is false’);// undefined is false

if (!null) console.log(’null is false’);// null is false

undefined == null// true

上面代碼說明,兩者的行為是何等相似!

既然undefined和null的含義與用法都差不多,為什么要同時設置兩個這樣的值,這不是無端增加JavaScript的復雜度,令初學者困擾嗎?Google公司開發的JavaScript語言的替代品Dart語言,就明確規定只有null,沒有undefined!

Undefined

Undefined 類型只有一個值,即 undefined。

聲明了變量,但未進行初始化時,這個變量的值就是 undefined,例如:

var message;alert(message == undefined); // true

字面量 undefined 的主要目的是用于比較,而ECMAScript 3.0之前的版本中并沒有規定這個值。引入這個值是為了正式區分空對象指針 與 未經初始化的變量。

Null

Null 類型是第二個只有一個值的類型,即 null。從邏輯角度來看,null 表示一個空對象指針,因此,當使用 typeof 操作符檢測 null 值時,會返回“object”,如下所示:

var car = null;alert(typeof car); // 'object'

如果定義的變量準備在將來用于保存對象,那么最好將該變量初始化為 null,而不是其他值,這樣一來只要直接檢查null值就可以知道該變量是否保存了一個對象的引用,例如:

if (car != null) {dosomthing}

實際上, undefined值是派生自 null值的,因為他們在執行相等性測試(==)時要返回 true

alert(null == undefined) // true

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 湘阴县| 且末县| 格尔木市| 鸡东县| 曲沃县| 桦川县| 凤阳县| 建平县| 长垣县| 合阳县| 东乌珠穆沁旗| 慈溪市| 建阳市| 台南市| 昭平县| 杭锦旗| 远安县| 常熟市| 修武县| 九台市| 永泰县| 枝江市| 汤原县| 集安市| 林甸县| 通化县| 临汾市| 齐齐哈尔市| 清新县| 老河口市| 浠水县| 通化县| 雅江县| 安丘市| 芦山县| 海安县| 长岭县| 佛冈县| 富顺县| 大邑县| 余干县|