js null和undefined的区别

     null是javascript语言中的关键字,它表示一个特殊值,常用来描述“空”。对null进行typeof运算返回的是“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”。但实际上,通常认为null是它自有类型的唯一一个成员。它可以表示为数字、字符串、对象是“无值”的。

    undefined表示值的空缺。用未定义的值表示更深层次的“空值”。它是变量的一种取值,表明变量没有初始化。注:1.查询对象属性或数组元素的值时返回undefined,则说明这个属性或元素不存在。2.函数没有返回值,则返回undefined。3.引用没有提供实际参数的函数形参的值也只会返回undefined。在ECMAScript 5该版本中是只读的。如果进行typeof运算得到undefined的类型,则返回“undefined”,表明这个值是这个类型的唯一成员。

    尽管null和undefined是不同的,但它们都表示:“值的空缺”。两者往往可以相互转换。判断相等运算符“==”认为两者是相等的(要使用严格相等运算符“===”来区分它们)。在希望值是布尔类型的地方它们的值都是假值,和flase类型。null和undefined都不包括任何属性和方法。实际上,使用“.”和“[]”来存取这两个值都会错误。


猜你喜欢

转载自blog.csdn.net/u011342216/article/details/77840280