【js学习笔记-011】--null和undefined

来源:互联网 发布:通赢软件下载 编辑:程序博客网 时间:2024/05/01 07:51

null:对其执行typeof 返回结果是“object”,也就是说可将 null看成一个特殊的对象值,含义是“非对象”。但实际上,通常认为null是它自有类型的唯一一个成员。可以表示数字,字符串对象的“无值”

undefined:如果函数没有返回值,则返回undefined。undefined是预定义的全局变量(它和null不一样,它是关键字),它的值“未定义”,typeof 得到的类型是undefined


null == undefined //返回true

null === undefined //返回false


JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。


null表示"没有对象",即该处不应该有值。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义


在希望使用布尔值的地方它们都为假值。它们都不包含任何属性和方法,使用"." 或[] 来存取成员或方法,会产生类型错误


可以认为undefined表示系统级的、出乎意料的或类似错误的值的空缺。

而null是表示程序级的、正常的或在意料之中的值的空缺(如果你想将它们的赋值给变量或属性,或将它们作为参数传入函数,最佳选择是使用 null)。

原创粉丝点击