辨析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 相关文章推荐
javascript showModalDialog模态对话框使用说明
Dec 31 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
Node.js开源应用框架HapiJS介绍
Jan 14 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
js实现界面向原生界面发消息并跳转功能
Nov 22 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
使用vue-resource进行数据交互的实例
Sep 02 Javascript
vue-cli 3.x 修改dist路径的方法
Sep 19 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
js实现倒计时器自定义时间和暂停
Feb 25 Javascript
javascript实现简单页面倒计时
Mar 02 Javascript
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 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
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
jquery自适应布局的简单实例
2016/05/28 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
JS不完全国际化&本地化手册 之 理论篇
2016/09/27 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
js canvas实现红包照片效果
2018/08/21 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
Python实现的质因式分解算法示例
2018/05/03 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
pycharm显示远程图片的实现
2019/11/04 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
大专学生推荐信范文
2013/11/19 职场文书
党员创先争优承诺书
2014/03/26 职场文书
服务质量承诺书
2014/03/27 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
管理标语大全
2014/06/24 职场文书
辞职信怎么写?
2019/05/21 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
python实现求纯色彩图像的边框
2021/04/08 Python
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js