null:

  null通常意味着无值,但是一个函数如果没有其他匹配的值,也可能将他作为返回值。尽管这种情况不常发生。

// 举例:假设HTML中没有一个id为test的元素
2 var x=document.getElementById('test');
3 alert(x);//x变成了null,你会发现我们在作对象检测时,常常会利用这种情况。

undefined:

  返回undenfined的情况有三种:

  1. 你声明了一个变量,但没有给他赋值。
  2. 你访问了一个对象尚未声明的属性。
  3. 你定义了函数的参数,但没有把值传递给他。

 针对第一条规则:

var x;
alert(x);//你声明了x,但没有给他赋值,这时候x弹出的值就是undefined。
针对上述第二条规则:
 /*第一个对话框给出了报错信息:y没有被声明
但是第二个提示框把y当做javascript的全局对象---window对象的属性来访问。因为未定义的属性值总是undefined,所以警告框没有给出错误信息,而是显示了undefined
*/
alert(y);
alert(window.y);

 

posted on 2012-01-17 14:19  杭城小威  阅读(338)  评论(0编辑  收藏  举报