• 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
    本文版权归属作者和博客园共有,转载请注明出处

  • 相关阅读:
    python 列表、元组、字典总结
    python 字典
    python 元组
    python 列表
    JMeter的作用域与执行顺序
    JMeter第一个实战
    JMeter录制的两种方法
    JMeter常用功能
    初识jmeter2
    handler的拒绝策略:
  • 原文地址:https://www.cnblogs.com/terry6/p/6784122.html
Copyright © 2020-2023  润新知