Undefined 和 Null

首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。

undefined 代表的含义是未定义,null 代表的含义是空对象。一般变量声明了但还没有定义的时候会返回 undefined,null
主要用于赋值给一些可能会返回对象的变量,作为初始化。

undefined 在 js 中不是一个保留字,这意味着我们可以使用 undefined 来作为一个变量名,这样的做法是非常危险的,它
会影响我们对 undefined 值的判断。但是我们可以通过一些方法获得安全的 undefined 值,比如说 void 0。

当我们对两种类型使用 typeof 进行判断的时候,Null 类型化会返回 “object”,这是一个历史遗留的问题。当我们使用双等
号对两种类型的值进行比较时会返回 true,使用三个等号时会返回 false。

Undefined 和 undeclared

已在作用域中声明但还没有赋值的变量,是 undefined 的。相反,还没有在作用域中声明过的变量,是 undeclared 的。

对于 undeclared 变量的引用,浏览器会报引用错误,如 ReferenceError: b is not defined 。但是我们可以使用 typ
eof 的安全防范机制来避免报错,因为对于 undeclared(或者 not defined )变量,typeof 会返回 “undefined”。

如何获取安全的 undefined 值

因为 undefined 是一个标识符,所以可以被当作变量来使用和赋值,但是这样会影响 undefined 的正常判断。

表达式 void ___ 没有返回值,因此返回结果是 undefined。void 并不改变表达式的结果,只是让表达式不返回值。

按惯例我们用 void 0 来获得 undefined。

undefined、undeclared、null的区别相关推荐

  1. 下班前几分钟,我彻底弄懂了 undefined 和 null 的区别

    目录 前言 一.基本概念 1.undefined 2.null 二.简单区别 三.表现形式 1.typeof 2.== 与 === 3.Object.prototype.toString.call 4 ...

  2. JS基础之undefined与null的区别

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位 ...

  3. undefined 和null的区别?

    null是一个表示"无"的对象,转为数值时为0:undefined是一个表示"无"的原始值,转为数值时为NaN. undefined: (1)变量被声明了,但没 ...

  4. JS中undefined和null的区别,以及出现原因

    区别:null是一个表示无的对象,转换为数值为0: undefined表示一个无的原始值,转化为数值为NAN(与任何数字相加也为NAN) undefined出现原因:(口诀:一变量二函数一对象) 1. ...

  5. 你知道undefined与null的区别吗?

    转载于:https://www.cnblogs.com/shiweihappy/p/4246448.html

  6. java Null==undefined_javascript中的undefined和null有什么区别

    原标题:javascript中的undefined和null有什么区别 java中的undefined和null的区别有:类型不同前者返回的是未定义值后者是对象:转换原始类型方式不同前者是不支持转换后 ...

  7. 在JS中如何判断undefined和null

    不当用法 有时为了判断某个值有效,JS新手会写这种臃肿代码: if (data != null && typeof(data) != undefined && data ...

  8. [JS] undefined、null、ReferenceError的区别、变量作用域问题

    undefined.null.ReferenceError的区别 null表示"没有对象",即该处不应该有值. 典型用法是: (1) 作为函数的参数,表示该函数的参数不是对象. ( ...

  9. javascript中not defined、undefined、null以及NaN的区别

    [ 前言 ] 从踏入IT行业开始,我就发现技术人员写博客很有必要.如果不写博客,时间久了就像好比天天在外面建房子的人,没有一个自己的房子一样.不管学习紧不紧,工作忙不忙,多动手进行梳理总结,一方面是为 ...

最新文章

  1. face-swap.zip百度网盘下载
  2. Codeforces 463E Caisa and Tree
  3. 1t硬盘怎么分区最好_这下尴尬了,电脑硬盘分区常见误区,移动硬盘分区方法...
  4. inline函数和一般的函数有什么不同
  5. elf文件格式实例解析
  6. mac环境下配置nginx
  7. [转载] 用Tkinter打造GUI开发工具(45)用Tkinter做自己的中文代码编辑器
  8. 探测能源、跨洲安全通信……你所想不到的量子技术!
  9. shell 逐行读取文件
  10. MapReduce输出结果到多个文件
  11. 【源码更新】活动报名登记预约问卷表单系统微信小程序支持导入导出自定义表单填报字段
  12. 通过DXGI实现高效抓屏
  13. ie11无法使用,卸载后无法安装,错误代码0x8000ffff
  14. 东方联盟郭盛华获100亿战略入股,到底谁支持他?网友:不敢猜
  15. 键盘鼠标是计算机标准输入输出设备,输入输出设备.ppt
  16. IO流缓冲流等高级流
  17. 如何查计算机硬盘型号,如何查看硬盘的型号
  18. linux系统怎么装搜狗输入法_Linux之Ubuntu系统安装搜狗输入法
  19. [网络流] Topcoder SRM556DIV. OldBridges
  20. 复数java实验_java实验 复数

热门文章

  1. Web Worker 的运用
  2. MT【192】又是绝对值函数
  3. 蓝桥杯每日一练:完美的代价
  4. angular教程推荐
  5. Python数据分析与机器学习实战<十>贝叶斯算法
  6. 找不到名称“div”
  7. Javascript高阶 奇淫巧技
  8. 在写论文阿~让人头大的ARIS啊~
  9. INCISIV14.10.001下载与安装,简单教程
  10. VBA分别计算Excel的每一行填充颜色的单元格。把结果写到行最后