辨析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遍历Json的两种数据结构的实现代码
Jan 19 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
jQuery 获取多选框的值及多选框中文的函数
May 16 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 Javascript
JavaScript实现隐藏省略文字效果的方法
Apr 27 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
详解如何去除vue项目中的#——History模式
Oct 13 Javascript
浅谈redux以及react-redux简单实现
Aug 28 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
nodejs教程之环境安装及运行
2014/11/21 NodeJs
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
python制作花瓣网美女图片爬虫
2015/10/28 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
python实现机器人卡牌
2019/10/06 Python
python实现简单银行管理系统
2019/10/25 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
营销与策划个人求职信
2013/09/22 职场文书
经管应届生求职信
2013/11/17 职场文书
丑小鸭教学反思
2014/02/03 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
企业百日安全活动总结
2015/05/07 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS