辨析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扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
jquery实现预览提交的表单代码分享
May 21 Javascript
iframe中使用jquery进行查找的方法【案例分析】
Jun 17 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
vue params、query传参使用详解
Sep 12 Javascript
快速处理vue渲染前的显示问题
Mar 05 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 Javascript
Vue程序调试的方法
Jun 17 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
小程序双头slider选择器的实现示例
Mar 31 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
php面向对象中的魔术方法中文说明
2014/03/04 PHP
js代码实现微博导航栏
2015/07/30 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
js实现秒表计时器
2019/12/16 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
深入理解Python装饰器
2016/07/27 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
python中pika模块问题的深入探究
2018/10/13 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
Django日志及中间件模块应用案例
2020/09/10 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
澳大利亚百货公司:David Jones
2018/02/08 全球购物
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
车间统计员岗位职责
2015/04/14 职场文书
2019军训心得体会
2019/06/27 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python