前端面试准备2----Javascript中的Undefined和null小结

  JavaScript中有两个表示“空”的值,分别是Undefined和null;

  (1)Undefined  

    定义了一个全局变量,它的值是 undefined,这个变量也被称为undefined。 但是这个变量不是一个常量,也不是一个关键字。这意味着它的可以轻易被覆盖。

  ES5 提示: 在 ECMAScript 5 的严格模式下,undefined 不再是可写的了。 但是它的名称仍然可以被隐藏,比如定义一个函数名为 undefined

  下面的情况会返回 undefined 值:

  • 访问未修改的全局变量 undefined
  • 由于没有定义 return 表达式的函数隐式返回。
  • return 表达式没有显式的返回任何内容。
  • 访问不存在的属性。
  • 函数参数没有被显式的传递值。
  • 任何被设置为 undefined 值的变量。

  null 的用处

    JavaScript 中的 undefined 的使用场景类似于其它语言中的 null,实际上 JavaScript 中的 null 是另外一种数据类型。

  它在 JavaScript 内部有一些使用场景(比如声明原型链的终结 Foo.prototype = null,又比如在删除DOM0级方法指定的事件处理程序时,

  将事件处理程序属性的值设置为null即可,btn.onclick=null),但是大多数情况下都可以使用 undefined 来代替。

  JS判断Undefinde

  typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

  以下是正确的用法:

  var exp = undefined;
  if (typeof(exp) == "undefined")
  {
      alert("undefined");
  }

  JS判断null

  JavaScript 中没有 isNull 这个函数。

  以下是正确的用法:

  var exp = null;
  if (!exp && typeof(exp)!="undefined" && exp!=0)
  {
      alert("is null");
  } 

posted @ 2016-03-07 22:02  小东Blog  阅读(797)  评论(1编辑  收藏  举报