1. 程式人生 > >JavaScript中“null”和“undefined”的區別

JavaScript中“null”和“undefined”的區別

JavaScript語言居然有兩個表示”無”的值:undefined和null。這是為什麼?

總所周知:null == undefined 但是:null !== undefined 那麼這兩者到底有啥區別呢? 請聽娓娓道來…
引用塊內容
JavaScript(在後面簡稱js)中在對空值作了兩種定義“null“和“undefined“,在這裡簡單說一下它們兩個的區別。

先說一下“null”(空),“null”在js中是一個關鍵字,它在js中是一種物件的形式存在,我們可以使用typeof()來檢視一下它的型別回事object,我們可以理解為它是一個物件,含義是“非物件”。

再說一下“undefined”(未定義),“undefined”在js中別不是一個關鍵字,當宣告的變數還未被初始化時,變數的預設值為undefined,我們使用typeof()來判斷它時返回值是一個undefined字串,我們可以理解為它是一個預定義的全域性變數。

其實它們都是對空值的一個定義,但是在js中“undefined”是由“null”衍生而來的,它們之間還是有點關係的。

如果我們使用“==”對它們兩進行判斷會發現它們會返回true,但是我們大多時候是要區分這兩個型別的。在對它們進行判斷時我們應該使用跟嚴格的“===”來對它們進行判斷,也可以用typeof(null)==typeof(undefined)這樣來判斷。後者是根據型別來判斷,這種判斷有點不合理,所以建議用前者的判斷更為合理一些。

既然這樣它們兩個空值的在使用時有些應該注意的地方,“undefined”在變數沒有賦值時預設的賦值,我們可以理解為這是系統級的,是在意料之外的。而“null”是程式級的,正常的賦值也就是意料之中的。

如果想要對一個變數賦一個“空值”,或當做引數傳遞時,儘量使用意料之中的“null”,而不要使用“undefined”。

相關推薦

JavaScriptnullundefined”的區別

JavaScript語言居然有兩個表示”無”的值:undefined和null。這是為什麼? 總所周知:null == undefined 但是:null !== undefined 那麼這兩者到底有啥區別呢? 請聽娓娓道來… 引用塊內容 J

javascriptnullundefined區別

     null是表示用於object為“無”,而undefined用於表示為“無”(包括了物件為無,還包含其他無的資料型別)。記住function也是一種資料型別。 undefined的用在方法: 1、聲明瞭變數,但是沒有賦值,使用變數的時候是undefined。 2、

JavaScriptNullundefind區別

cdc 如何 undefine 只有一個 som pre cnblogs 定義 報錯 公眾號原文 Javascript有5種基本類型:Boolean,Number,Null,Undefined,String;和一種復雜類型:Object(對象); undef

對於javascriptNullUndefined型別的區分

Null和Undefined型別都只有唯一的特殊值,即null和undefined。不過null是關鍵字而undefined不是。 JavaScript把兩者定義為相等的,如下程式碼可以驗證: alert(null==undefined);//會彈出true。 儘管這兩個值

學習:JSnull undefined 的主要區別

注意在 JScript 中 null 和 undefined 的主要區別是 null 的操作象數字 0,而 undefined 的操作象特殊值NaN (不是一個數字)。對 null 值和 undefined 值作比較總是相等的。 var a; var b=null; var

js nullundefined區別用法

js中,每次想知道一個物件是否為空時,首先想到的判斷條件是"o==null",但轉念一想,感覺還不大安心,又加上“||o== undefined”,這樣終於 心滿意足了!這就側面表現出我對null和undefined認知的不足及不自信。而每次查了資料,看過之後又給忘了,所以

jsnullundefined區別

JavaScript有兩個特殊的原始值:null和undefined,它們不是數字、字串和布林值。它們通常分別代表了各自特殊型別的唯一的成員,也就說是它自有型別的唯一的一個成員。從技術上講,只有Javascript物件才能擁有方法,數字、字串和布林值都可以擁有自

null undefined 區別

fin nbsp if語句 undefined 有一個 賦值 undefine 區別 -- ---恢復內容開始--- 1.在javascipt中,將一個變量賦值為undefined 或 null ,幾乎沒什麽區別。 2. 在if語句中undefined 和 null 都會

JS比較運算子及nullUndefined區別

比較運算子 當我們對Number做比較時,可以通過比較運算子得到一個布林值: 2 > 5; // false 5 >= 2; // true 7 == 7; // true 實際上,JavaScript允許對任意資料型別做比較: false == 0;

javanull""的區別

" "分配了記憶體 ;null沒有 呼叫null的字串的方法會拋空指標異常。 ""是一個字串(String).它在記憶體中是存在的.它可以使用Object物件中的方法(如"".toString();"".equals()) 而null它是一個空物件.在記憶體中是不存在的.它

Javascript null、NaNundefined區別總結

js中的資料型別有undefined,boolean,number,string,object等5種,前4種為原始型別,第5種為引用型別,接下來與大家分享下它們之間的區別 1.型別分析:  js中的資料型別有undefined,boolean,number,strin

淺談JS的!=、== 、!==、===的用法區別 JSNullUndefined區別 讀取XML文件 獲取路徑的方式 C#Cookie,Session,Application的用法與區別? c#反射 抽象工廠

main 收集 data- 時間設置 oba ase pdo 簡單工廠模式 1.0 var num = 1; var str = ‘1‘; var test = 1; test == num //true 相同類型 相同值 te

jsnullundefined區別

值undefined實際是是從值null派生的,       因此alert(null==undefined);//output “true” 儘管這兩個值相等,但他們的含義不同。undefined是聲明瞭變數但未對其初始化時賦予該變數的值,null則用於表示尚未存在的物件。

JavaScripttypeof, null, undefined

JavaScript typeof, null, 和 undefined JavaScript typeof, null, undefined, valueOf()。 typeof 操作符 你可以使用 typeof 操作符來檢測變數的資料型別。 例項 type

Javascriptnull undefined

don prot type hand declared pro sed 分享圖片 null Javascript Undefined vs NULL Many a times we often get confused on whats the difference be

JavascriptinnerHTMLinnerText的區別

utf meta charset 測試 第一個 class utf-8 html標簽 技術分享 innerHTML:獲取的是從對象的起始位置到終止位置的全部內容,包括HTML標簽 innerText:獲取的是起始位置到終止位置的內容,但是會將HTML標簽去掉 下面寫一段代碼

null undefined區別

歷史 原來 num eof 運算 分享 art 技術 有關 大多數計算機語言,有且僅有一個表示"無"的值,比如,C語言的NULL,Java語言的null,Python語言的None,Ruby語言的nil。 有點奇怪的是,JavaScript語言居然有兩個表示"無"的值:un

JSNullUndefined區別

class undefine 為我 false 應該 一行代碼 等於 解釋 什麽 在JavaScript中存在這樣兩種原始類型:Null與Undefined。這兩種類型常常會使JavaScript的開發人員產生疑惑,在什麽時候是Null,什麽時候又是Undefined?Un

JavaScriptPolyfillShim 在JavaScriptShimPolyfill有什麽區別?

世界 實現 blank spa 文章 target script 就是 新的 原文鏈接 在JavaScript的世界裏,有兩個詞經常被提到,那就是Shim和Polyfill,它們指的都是什麽,又有什麽區別?在本文中,將簡短的給大家介紹他們之間的聯系和區別。Shim一個shi

愛創課堂每日一題第五十天- nullundefined區別

前端 前端學習 前端入門 null是一個表示"無"的對象,轉為數值時為0;undefined是一個表示"無"的原始值,轉為數值時為NaN。當聲明的變量還未被初始化時,變量的默認值為undefined。null用來表示尚未存在的對象,常用來表示函數企圖返回一個不存在的對象。undefined表示"缺少值"