null的使用场景:
1.手动设置变量的值或者对象的某一个属性值为null;
2.在JS的DOM元素获取中,如果没有获取到指定的元素对象,结果是null;
3.Object.protype.proto的值也为null;
4.正则捕获阶段的时候,如果没有捕获到值也是null
undefined的使用场景:
1.变量提升,只声明未定义,默认值为undefined;
2.严格模式下,没有明确的执行主体,this就是undefined;
3.对象没有这个属性名,属性值就为undefined;
4.函数定义形参不传值,默认就是undefined;
5.函数没有返回值(没有return)时;
null和undefined大概就是上述几种情况了;