zoukankan      html  css  js  c++  java
  • undefined与null的区别

    相似性

    在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。

    ·var a = undefined;·

    ·var a = null;·

    上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。

    undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。

    if (!undefined)

    console.log('undefined is false');

    // undefined is false

    if (!null)

    console.log('null is false');

    // null is false

    undefined == null

    // true`

    上面代码说明,两者的行为是何等相似!

    用法

    null和undefined基本是同义的,只有一些细微的差别

    null表示"没有对象",即该处不应该有值。典型用法是:
    1. 作为函数的参数,表示该函数的参数不是对象。
    2. 作为对象原型链的终点。

      Object.getPrototypeOf(Object.prototype)
      // null

    undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

    1. 变量被声明了,但没有赋值时,就等于undefined。

    2. 调用函数时,应该提供的参数没有提供,该参数等于undefined。

    3. 对象没有赋值的属性,该属性的值为undefined。

    4. 函数没有返回值时,默认返回undefined。

      var i;
      i // undefined

      function f(x){console.log(x)}
      f() // undefined

      var o = new Object();
      o.p // undefined

      var x = f();
      x // undefined

    作者:十八般武藝
    出处:http://www.cnblogs.com/terry6
    本文版权归属作者和博客园共有,转载请注明出处

  • 相关阅读:
    高进度乘法FFT优化
    Activity的四种加载模式
    异步任务AsyncTask
    利用Handler在子线程中更新UI
    Android 屏幕旋转监听
    HDOJ-1698-线段树成段更新
    HDOJ-1671-字典树
    HDOJ-1251 字典树
    python数据结构与算法
    find the lowest number location
  • 原文地址:https://www.cnblogs.com/terry6/p/6784122.html
Copyright © 2011-2022 走看看