null:
null通常意味着无值,但是一个函数如果没有其他匹配的值,也可能将他作为返回值。尽管这种情况不常发生。
// 举例:假设HTML中没有一个id为test的元素
2 var x=document.getElementById('test');
3 alert(x);//x变成了null,你会发现我们在作对象检测时,常常会利用这种情况。
undefined:
返回undenfined的情况有三种:
- 你声明了一个变量,但没有给他赋值。
- 你访问了一个对象尚未声明的属性。
- 你定义了函数的参数,但没有把值传递给他。
针对第一条规则:
var x;
alert(x);//你声明了x,但没有给他赋值,这时候x弹出的值就是undefined。
针对上述第二条规则:
/*第一个对话框给出了报错信息:y没有被声明
但是第二个提示框把y当做javascript的全局对象---window对象的属性来访问。因为未定义的属性值总是undefined,所以警告框没有给出错误信息,而是显示了undefined*/
alert(y);
alert(window.y);