null 和 undefined 两者之间的区别

来源:互联网 发布:苹果mac 硬盘找不到 编辑:程序博客网 时间:2024/05/15 11:25

不同于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就不可以了

0 0
原创粉丝点击