undefined 出现场景:
1.已声明但未赋值的变量 var obj;
2.获取对象不存在的属性 var obj = {x: 0}; obj.y;
3.无返回值函数的执行结果 function f(){}; var obj = f();
4.函数参数没有传入 function f(i){console.log(i)}; f();
5.void(expression)
Null
null 出现场景:
1.获取不存在的对象 document.getElementById('nice')等dom节点。
2.直接手动给变量设置,var obj = null; 此时的obj当然是null咯。
3.对象的属性初始值设置为null。 var obj = {x: null}; obj.x;
4.原型链的终点。Object.prototype.__proto__的值
5.正则捕获的时候,如果没有捕获到结果,默认也是null.
,