1. 程式人生 > >JavaScript資料型別之特殊值:undefined與null的比較與區別

JavaScript資料型別之特殊值:undefined與null的比較與區別

JavaScript資料型別之特殊值:undefined與null

大家好,我是Yangrl;
每天記錄JavascriptLaernNote.

javascript中的兩個特殊值:undefined和null
undefined:

  • 表示未定義或不存在。
  • 只有一個值,就是undefined(不是真的值)。
  • 不需要顯式的說明值為undefined。比如:不給變數賦值,值就為undefined.var a;//undefined
  • 典型場景:
    1:)呼叫函式時,沒提供應有的引數,該引數則等於undefined.
function test(id) {
    return id;
}
console.log(test());//undefined

2:)呼叫物件中沒有賦值或不存在的屬性,返回undefined.

 var o = new Object();
    o.p;//undefined

3:)函式沒有返回值的時候,預設返回undefined.

function test() {

}
test();//undefined;

null:

  • 表示無值(一個空物件指標)。
  • 定義變數準備之後用來儲存物件,就可初始化值為null,用來存字串,初始化值為”“,以此類推。var a = null;
  • object型別。console.log(typeof a)//object

comment:因為undefined派生自null,所以在比較時,undefined == null.另外,javascript區分大小寫,所以undefined|null or Undefined|Null是不同的。後者只是個識別符號(變數名)。

end.
Good night~

“一旦專注於尚未滿足的需要,我們就會考慮如何滿足它。反之,如果用苛刻的語言指責自己,我們不僅難以找到解決方法, 而且容易陷於自我懲罰的痛苦中。遇到挫折和苦難,想想影響了自己什麼需求,並嘗試滿足它, 而不是自責與糾結痛苦。”——《非暴力溝通》