JavaScript基本資料型別之undefined和null

菜雞愛上程式設計發表於2020-11-15

JS必會知識之undefined與null


一、null是什麼?

null表示 “沒有物件”,即該處不應該有值。
(1)作為函式的引數,表示該函式的引數不是物件。
(2)作為物件原型鏈的終點。

console.log(Object.prototype.__proto__);//null

二、undefined是什麼?

undefined表示“缺少值”,就是此處應該有一個值,但是還沒有定義。
(1)變數被宣告瞭,但沒有賦值時,就等於undefined。

        var obj3;
        console.log(obj3);

(2)呼叫函式時,應該提供的引數沒有提供,該引數就等於undefined。

        var obj4 = 'javascript';
        function f2(params){
            console.log(params);
        }
        f2();

(3)物件沒有賦值的屬性,該屬性的值為undefined。

        var obj1 = 'javascript';
        function f(params){
            console.log(params.name);
        }
        f(obj1);

(4)函式沒有返回值時,預設返回undefined。

		var obj = {
            name:'javascript'
        };
        function f1(params){
            params.name;
        }
        console.log(f1(obj));

三、採坑點

undefined + 6   // NaN
null + 6      // 6
//轉化的時候,undefined為NaN,null為0.
Number(undefined)       // NaN
Number(undefined + 10)  //NaN
Number(null)            // 0
Number(10 + null)       // 10
undefined === null      //false
undefined == null       //true

相關文章