null是关键字,表示一个特殊值,常用来描述“空值”。对null执行typeof去处,结果返回字符串“object”,所以可以将null认为是一个特殊的对象值,含义是“非对象”。但实际上,通常认为它是自有类型的唯一一个成员,它可以表示数字、字符串和对象是“无值”的。
undefined是预定义的全局变量,不是关键字。使用typeof去处符得到字符串“undefined”,表明这个值是这个类型的唯一成员。
尽管null和undefined是不同的,但它们都表示“值的空缺”,两者往往可以互换。判断相等运算符“== ”认为两者是相等的(要使用严格相等去运算符“===”来区分它们)。null和undefined都不包含任何属性和方法,实际上,使用“.”和“[]”来存取这两个值的成员或方法都会产生一个类型错误。
包装对象:存取字符串、数字或布尔值时创建的临时对象称作包装对象,只是偶尔用来区分字符串值和字符串对象、数字和数值对象以及布尔值和布尔对象。由于字符串、数字和布尔值的属性都是只读的,并且不能给它们定义新属性,因此你需要明白它们是有别于对象的。
可通过String(), Number(), Boolean()构造函数来创建包装对象。
null和undefined
最新推荐文章于 2023-03-02 08:13:52 发布