1. 程式人生 > >javascript中null和undefined的區別

javascript中null和undefined的區別

     null是表示用於object為“無”,而undefined用於表示為“無”(包括了物件為無,還包含其他無的資料型別)。記住function也是一種資料型別。

undefined的用在方法:

1、聲明瞭變數,但是沒有賦值,使用變數的時候是undefined。

2、呼叫函式的引數時,函式實參沒有給引數,形參就是undefined。(函式是不會報錯誤的,oob中多型的區別)

3、物件沒有給屬性的賦值,該屬性的值為undefined

4、函式沒有返回值,預設返回是undefined

null的用法:

(1) 作為函式的引數,表示該函式的引數不是物件。
(2) 作為物件原型鏈的終點。

null和undefined在什麼情況為true

alert(null === undefined);//true

alert(typeof null  === typeof undefined);//false

if(null);//null是等於false

if(undefined);//false

在這裡把undefined和null理解為“無”。!理解為“非”。對undefined和null多個角度理解。

在這裡,我記得布林型的判斷,但是就是記不住布林型的判斷,雖然很簡單,但是在工作很重要。總結一下js中布林型的資料:

分為資料和字串:

資料中0和-0被js直譯器(web直譯器)都會解釋為false。其他資料型別解釋為true。

字串:空字串(“”)被解釋為false,其他字串解釋為true。

nullNaNundefined 被解釋為 false