現在再去聊這個的話基本上大家都很熟悉了,對於新手來說可以加強鞏固吧。因為阮一峰老師的文章裡面已經寫很明白 《undefined與null的區別》
null:空物件指標 -> 沒有具體的值 -> 一般都是我們手動設定初始的值為null,後期的話會給其賦值
undefined:未定義 -> 連東西都沒有 -> 一般都是瀏覽器預設的值
null
1、我們設定乙個變數,後期需要使用,那麼前期我們設定預設值為null
1var timer=null;2
function
move()
6 move();
2、在js記憶體釋放中,我們想釋放乙個堆記憶體,就讓其值變為null即可
1var obj=;
2 obj=null; -> 剛開始開闢的這個堆記憶體沒有被占用,瀏覽器會在空閒的時候把它銷毀掉
3、我們通過dom中提供的屬性和方法獲取頁面中的某乙個元素標籤,如果當前這個標籤不存在,獲取的結果是null,而不是undefined
1 document.getelementbyid("div1") -> 如果頁面中沒有#div1,獲取的結果就是null
4、在正則的exec/字串的match捕獲中,如果當前要捕獲的字串和正則不匹配的話,捕獲到的結果為null
1var reg=/\d+?/g;
2var str="zhufengpeixun";
3 reg.exec(str) ->null
4 str.match(reg) ->null
undefined
1、在js預解釋的時候,只宣告未定義,預設的值是undefined
1 console.log(num); ->undefined2var num=13;
2、在乙個函式中,如果沒有寫return,或者return後啥都沒返回,預設的返回值是undefined
1function
fn()
4var res=fn();
5 console.log(res);->undefined
3、函式中設定了形參,但是執行的時候如果沒有傳遞引數值,那麼形參預設值是undefined
1function
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
1function
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運算...