不同于java,c的null,或者python的none,javascript有两个表示无的值,一个是null, 一个是undefined。
1. 在chrome控制器打出
可以看出,null是对象,一个表示“无”的“对象”,转为数值为“0”;
undefined则是一个表示“无”的原始“值”,转为数值为nan;
2. 两种的用法上的细微区别:
2.1 null表示没有对象,此处 "不应该有值" ;
2.2 undefined则相反,表示此处 "应该有值",但是没有定义,看了网上列出了以下几种用法:
2.2.1 变量被申明了,但没有赋值;
2.2.2 调用函数时,应该提供的参数没有提供,这个参数为undefined;
2.2.3 对象没有赋值的属性,该属性的值为undefined;
2.2.4 函数没有返回值时,为undefined
3. 理解下,null表示一个值被定义了,定义为“空值”;undefined 表示根本不存在,
一个值为null是可以的,但去设置一个undefined就不可以了