undefined类型表示未定义,它的类型只有一个值,就是undefined。**任何变量赋值前是undefined类型、值为undefined,一般我们可以为全局变量undefined(就是名为undefined的这个变量)来表示这个值**,或者void运算来把任意一个表达式变成undefined值。 但是呢,因为JavaScript的代码undefined是一个变量,而并非是一个关键字,这是JavaScript语言公认的设计失误之一,所以,**我们为了避免无意中被篡改**,我建议使用void 0来获取undefined值。 undefined 和 null 有一定的表意差别,null表示的是“定义了但是为空”。所以,在实际编程时,我们一般不会把变量赋值为undefined,这样可以保证所有值为undefined的变量都是未赋值的自然状态。 null类型也只有一个值,就是null,它的语义表示空值,与undefined不同,null是JavaScript关键字,所以在任何代码中,你都可以放心用null关键字来获取null值。