1.相同点:
1) 都只有一个值(Undefined类型的值是undefined,Null类型的值是null);
2)参与判断时,都返回false;
3)都没有方法。
2.不同点:
1)Undefined不是关键字,Null是关键字;
2)Undefined是window的一个属性,Null是一个空对象;
3)Undefined是未初始化的,Null是已经初始化的;
4)当转换成数字时,Undefined显示NaN,Null显示0;
5)typeof(undefined)->undefined,typeof(null)->object。
3.使用建议:
1)不要在赋值时使用undefined,可以使用null;
2)如果判断某个值是否存在或是否为空时,使用 ==null来判断;
3)明确知道判断返回的值是什么的时候,用===。