Undefined类型,它只有一个值就是它本身,打个比方你在声明变量的时候又未对变量赋值也就是相关初始化操作,那么此刻该变量的值便是Undefined。 var a//声明一个变量。 console.log(a); console.log(b);//打印一个没有声明的变量; 第一个打印Undefined 第二个会报错,可是如果把第二个改成 console.log(typeof b)时它打印的也是Undefined 。 ------------------------------------------------------------------------------------------------------------------------------------------------------ Null类型它也只有一个值,在逻辑上来说它只是一个空的对象指针。 var c = null; console.log(typeof c);//object ------------------------------------------------------------------------------------------------------------------------------------------------------ Undefined和null的关系。 console.log(null == undefined);//为true; undefined值是派生自null值的,因此在相关规定下他们是相等。 它们两个之间虽然有关系,它们之间的规则却不一样,undefined,无论在什么情况下都没有必要把一个变量的值显示地设置为undefined,而null只要保存的变量没有真正的保存对象,那么该值就应该设为null值。 ------------------------------------------------------------------------------------------------------------------------------------------------------ Boolean这个应该是ECMAScript使用最多的了,它只有两个值,一个是true一个是false,它们对大小写敏感。 ------------------------------------------------------------------------------------------------------------------------------------------------------ Number 数字类型,因为内存的限制,它是无法显示世界所有的数值,它的上限值是5e-324 ------------------------------------------------------------------------------------------------------------------------------------------------------ NaN 即非数值是一个特殊的数值,它是用来表示一个本来要返回数值的操作数未返回数值的情况下,还有它对任何值都不相等,但有一个函数isNaN(),这个函数接收一个值,任何只要无法转换为数值的值都将返回true。