undefined與null的區別

2022-05-02 15:27:08 字數 1817 閱讀 2342

現在再去聊這個的話基本上大家都很熟悉了,對於新手來說可以加強鞏固吧。因為阮一峰老師的文章裡面已經寫很明白 《undefined與null的區別》

null:空物件指標 -> 沒有具體的值 -> 一般都是我們手動設定初始的值為null,後期的話會給其賦值

undefined:未定義 -> 連東西都沒有 -> 一般都是瀏覽器預設的值

null

1、我們設定乙個變數,後期需要使用,那麼前期我們設定預設值為null

1

var timer=null;2

function

move()

6 move();

2、在js記憶體釋放中,我們想釋放乙個堆記憶體,就讓其值變為null即可

1

var obj=;

2 obj=null; -> 剛開始開闢的這個堆記憶體沒有被占用,瀏覽器會在空閒的時候把它銷毀掉

3、我們通過dom中提供的屬性和方法獲取頁面中的某乙個元素標籤,如果當前這個標籤不存在,獲取的結果是null,而不是undefined

1 document.getelementbyid("div1") -> 如果頁面中沒有#div1,獲取的結果就是null

4、在正則的exec/字串的match捕獲中,如果當前要捕獲的字串和正則不匹配的話,捕獲到的結果為null

1

var reg=/\d+?/g;

2var str="zhufengpeixun";

3 reg.exec(str) ->null

4 str.match(reg) ->null

undefined

1、在js預解釋的時候,只宣告未定義,預設的值是undefined

1 console.log(num); ->undefined

2var num=13;

2、在乙個函式中,如果沒有寫return,或者return後啥都沒返回,預設的返回值是undefined

1

function

fn()

4var res=fn();

5 console.log(res);->undefined

3、函式中設定了形參,但是執行的時候如果沒有傳遞引數值,那麼形參預設值是undefined

1

function

fn(a,b,c)

67 fn(10,20);

4、獲取乙個物件的屬性名對應的屬性值,如果當前的這個屬性名不存在的話,屬性值預設是undefined

var obj={};

console.log(obj.name); ->undefined

->我們也應用這個道理來檢測當前的瀏覽器是否相容某乙個方法

window.getcomputedstyle ->獲取當前元素經過瀏覽器計算過的樣式

在谷歌中:我們獲取的結果是 function getcomputedstyle()

在ie6~8中:我們獲取的結果是undefined,因為在這個瀏覽器中不相容getcomputedstyle

1

function

getcss(curele,attr)else

else15}

16 reg=/^-?\d+(\.\d+)?(px|pt|em|rem)?$/;

17return reg.test(val)?parsefloat(val):val;

18 }

undefined與null的區別

undefined表示 缺少值 就是此處應該有乙個值,但是還沒有定義。典型用法是 1 變數被宣告了,但沒有賦值時,就等於undefined。2 呼叫函式時,應該提供的引數沒有提供,該引數等於undefined。3 物件沒有賦值的屬性,該屬性的值為undefined。4 函式沒有返回值時,預設返回un...

undefined與null的區別

現在再去聊這個的話基本上大家都很熟悉了,對於新手來說可以加強鞏固吧。因為阮一峰老師的文章裡面已經寫很明白 undefined與null的區別 null 空物件指標 沒有具體的值 一般都是我們手動設定初始的值為null,後期的話會給其賦值 undefined 未定義 連東西都沒有 一般都是瀏覽器預設的...

null與undefined的區別

console.log null undefined true console.log null undefined false觀察可以發現 null和undefined 兩者相等,但是當兩者做全等比較時,兩者又不等。原因 null null型別,代表 空值 代表乙個空物件指標,使用typeof運算...