Undefined

undefined 出现场景:

1.已声明但未赋值的变量 var obj;

javascript重点内容(基础面试31JavaScript中的null和undefined)(1)

2.获取对象不存在的属性 var obj = {x: 0}; obj.y;

javascript重点内容(基础面试31JavaScript中的null和undefined)(2)

3.无返回值函数的执行结果 function f(){}; var obj = f();

javascript重点内容(基础面试31JavaScript中的null和undefined)(3)

4.函数参数没有传入 function f(i){console.log(i)}; f();

javascript重点内容(基础面试31JavaScript中的null和undefined)(4)

5.void(expression)

javascript重点内容(基础面试31JavaScript中的null和undefined)(5)


Null

null 出现场景:

1.获取不存在的对象 document.getElementById('nice')等dom节点。

javascript重点内容(基础面试31JavaScript中的null和undefined)(6)

javascript重点内容(基础面试31JavaScript中的null和undefined)(7)

2.直接手动给变量设置,var obj = null; 此时的obj当然是null咯。

3.对象的属性初始值设置为null。 var obj = {x: null}; obj.x;

4.原型链的终点。Object.prototype.__proto__的值

5.正则捕获的时候,如果没有捕获到结果,默认也是null.

,