15。1 undefiend值概要
JavaScript采用两种略微不同的方式使用undefined值。
第一种方式是声明的变量没有指定值;
第二种方式是试图访问的对象属性没有被定义且不存在于原型链中。
var initializedVariable;
console.log(initializedVariable);//undefined
console.log(typeof initializedVariable);//undefined
var foo = {};
console.log(foo.bar);//undefiend
console.log(typeof foo.bar);//undefined
!只允许JavaScript使用undefined是一种很好的想法。永远都不要将一个值设置为undefined,如 var foo=undefined,如果指定一个属性或变量值是不可用的,应该使用null.
15.2 在uanju作用域中定义undefined变量
与以前的版本不同,JavaScript ECMAScprit 3 在全局作用域定义了一个被称为undefiend的全局变量。因为该变量已被声明,且没有分配至,因此undefined变量被设置为undefined.
console.log(undefined in this);//true