辨析JavaScript中的Undefined类型与null类型


Posted in Javascript onMay 26, 2016

Undefined
表示变量已声明,但未被初始化。需要注意的是当使用typeof操作符判断数据类型时,未被声明的变量和未初始化的变量返回的值都为undefined

var message;
console.log(typeof message);//undefined
console.log(typeof age);//undefined

null:表示一个空对象指针
使用typeof操作符返回的值是'object',需要注意的是,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。

console.log(null == undefined);//true

undefined与null的区别
(1)undefined表示一个变量没有被声明,或者被声明了但没有被赋值
(2)null是一个表示“没有值”的值
(3)Javascript将未赋值的变量默认值设为undefined
(4)Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。
(5)undefined不是一个有效的JSON,而null是
(6)undefined的类型(typeof)是undefined,null的类型(typeof)是object.

PS:它们都是基本类型
他们都是falsy (Boolean(undefined) // false, Boolean(null) // false)
你可以这样判断一个变量是否是undefined

typeof variable === "undefined"

你可以这样判断一个变量是否是null

variable === null

双等号比较时它们相等,但三等号比较时不相等

null == undefined // true
 null === undefined // false
Javascript 相关文章推荐
jQuery实现表头固定效果的实例代码
May 24 Javascript
js事件监听机制(事件捕获)总结
Aug 08 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
js实现文字滚动效果
Mar 03 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
原生js canvas实现鼠标跟随效果
Aug 02 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
原生js实现下拉框选择组件
Jan 20 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 #Javascript
详解JavaScript中this关键字的用法
May 26 #Javascript
ashx文件获取$.ajax()方法发送的数据
May 26 #Javascript
js操作数据库实现注册和登陆的简单实例
May 26 #Javascript
js判断主流浏览器类型和版本号的简单实现代码
May 26 #Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 #Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 #Javascript
You might like
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
php时间函数用法分析
2016/05/28 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python实现的分层随机抽样案例
2020/02/25 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
党代会心得体会
2014/09/04 职场文书
快递员岗位职责
2014/09/12 职场文书
防汛工作情况汇报
2014/10/28 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
朋友离别感言
2015/08/04 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电