资讯专栏INFORMATION COLUMN

undefined和null的区别

GT / 1352人阅读

摘要:语言有两个表示无的值和。然而两者还是有区别的是一个类型,而是一个类型。表示没有对象,即该处不应该有值。典型用法是作为函数的参数,表示该函数的参数不是对象。作为对象原型链的终点。表示缺少值,就是此处应该有一个值,但是还没有定义。

JavaScript语言有两个表示"无"的值:undefined和null。

var a = undefined;
var a = null;

a变量分别被赋值为undefined和null,赋值写法类似;而且在用if语句做判断时都会返回false;甚至undefined==null也会返回true。
然而两者还是有区别的:
undefined是一个undefined类型,而null是一个object类型。
null表示"没有对象",即该处不应该有值。典型用法是:

作为函数的参数,表示该函数的参数不是对象。

作为对象原型链的终点。

   Object.getPrototypeOf(Object.prototype)    // null

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

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

var i;
i;    // undefined

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

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

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

var o = new Object();

o.p;    // undefined 

函数没有返回值时,默认返回undefined。 var x = f();

x;    // undefined

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80903.html

相关文章

  • 我所知道JavaScript之undefinednull区别

    摘要:是全局对象的一个属性,当声明了一个变量而未初始化时,得到的就是。作为函数的参数,表示该函数的参数不是对象。作为对象原型链的终点。表示缺少值,此处应该有值,但未定义。因此和的值相等而类型不相等。数字运算不相同这是由于约定的不同所决定的。 对于undefined和null我一直知道他们有很多区别,也知道一点关于他们的区别,但却不具体系统,因此总结了一下,主要心得如下: 我们要区分它们,首先...

    hatlonely 评论0 收藏0
  • undefinednull区别

    摘要:目前,和基本是同义的,只有一些细微的差别。表示没有对象,即该处不应该有值。作为对象原型链的终点。五新增持续更新中一般是意外情况产生的,则是有意为对象赋值来说明这是一个空的对象的返回值是的类型是 摘自阮一峰博客,另附自己的理解分析。 大多数计算机语言,有且仅有一个表示无的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。有点奇怪的是,J...

    defcon 评论0 收藏0
  • JS基础之undefinednull区别分析

    摘要:例如自定义局部变量作用域上的引用比较作用域上的引用比较其中,定义局部变量时,其初始值会是对属性值的引用。新定义的局部变量存在与该函数的作用域上。这就是许多前端框架为什么常常要自己定义一个局部变量的原因 在javascript开发中,开始学习js的时候时常困惑我的就是null和undefined的区别,所以很想总结下我对这两个的理解学习过js的同学都知道: null==undefined...

    zhigoo 评论0 收藏0
  • JavaScript中只声明但没有初始化变量未声明变量以及null/undefined区别

    摘要:只声明但没有初始化的变量和未声明的变量以及的区别声明但没有初始化的变量浏览器会弹出窗口显示因为对于使用了声明但没有进行初始化定义的变量其值默认为未声明的变量浏览器不会弹出任何东西因为是没有声明的变量打开浏览器的控制台会看到报错如下未声明的变 只声明但没有初始化的变量和未声明的变量以及null/undefined的区别 1. 声明但没有初始化的变量 var aa; alert(aa); ...

    zhangyucha0 评论0 收藏0
  • 我所理解JavaScript中 undefinednull区别

    摘要:他们的布尔值都是,说到布尔值为的,通常包括空字符串这五种常见的对象。各自都是孤家寡人,不用拖家带口的,一人吃饱全家不饿。 举个简单的栗子: A和B两个人肚子都很饿,要去吃饭。A已打电话到饭店预约位置,B则打算下班后考察下再做决定。对于饭店来说,A基本上就是他的客户了,只不过还没见到人来,定为null(毕竟交易还没产生),而对饭店来说,B是谁啊,他们根本没听到过这个人,为undefine...

    sf190404 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<