辨析JavaScript中的Undefined類型與null類型
Undefined
表示變量已聲明,但未被初始化。需要注意的是當使用typeof操作符判斷數(shù)據(jù)類型時,未被聲明的變量和未初始化的變量返回的值都為undefined
var message; console.log(typeof message);//undefined console.log(typeof age);//undefined
null:表示一個空對象指針
使用typeof操作符返回的值是'object',需要注意的是,undefined值是派生自null值的,因此ECMA-262規(guī)定對它們的相等性測試要返回true。
console.log(null == undefined);//true
undefined與null的區(qū)別
(1)undefined表示一個變量沒有被聲明,或者被聲明了但沒有被賦值
(2)null是一個表示“沒有值”的值
(3)Javascript將未賦值的變量默認值設(shè)為undefined
(4)Javascript從來不會將變量設(shè)為null。它是用來讓程序員表明某個用var聲明的變量時沒有值的。
(5)undefined不是一個有效的JSON,而null是
(6)undefined的類型(typeof)是undefined,null的類型(typeof)是object.
PS:它們都是基本類型
他們都是falsy (Boolean(undefined) // false, Boolean(null) // false)
你可以這樣判斷一個變量是否是undefined
typeof variable === "undefined"
你可以這樣判斷一個變量是否是null
variable === null
雙等號比較時它們相等,但三等號比較時不相等
null == undefined // true null === undefined // false
相關(guān)文章
詳解JavaScript中setSeconds()方法的使用
這篇文章主要介紹了詳解JavaScript中setSeconds()方法的使用,是JS入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
JavaScript ES6中的簡寫語法總結(jié)與使用技巧
我們在看編寫的JS ES6代碼時經(jīng)常會看到許多簡寫的語法,本篇文章就為大家一一介紹JavaScript ES6可以簡寫的語法2018-12-12
jquery和javascript的區(qū)別(常用方法比較)
jquery 就對javascript的一個擴展,封裝,就是讓javascript更好用,更簡單,為了說明區(qū)別,下面與大家分享下JavaScript 與JQuery 常用方法比較2013-07-07

