辨析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 相关文章推荐
区分JS中的undefined,null,"",0和false
Mar 08 Javascript
JavaScript中变量提升 Hoisting
Jul 03 Javascript
jquery 面包屑导航 具体实现
Jun 05 Javascript
javascript中取前n天日期的两种方法分享
Jan 26 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
javascript实现点击后变换按钮显示文字的方法
May 13 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
Jul 29 Javascript
jQuery回到顶部的代码
Jul 09 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
详解vue-flickity的fullScreen功能实现
Apr 07 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 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
怎么使 Mysql 数据同步
2006/10/09 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
php图像处理类实例
2015/07/28 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
提高jQuery性能的十个诀窍
2013/11/14 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
详解PyTorch批训练及优化器比较
2018/04/28 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
python和php学习哪个更有发展
2020/06/17 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
应届生程序员求职信
2013/11/05 职场文书
小学后勤管理制度
2014/01/14 职场文书
设计师个人求职信范文
2014/02/02 职场文书
企业委托书范本
2014/09/13 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
教导处教学工作总结
2015/08/12 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Java实现给Word文件添加文字水印
2022/02/15 Java/Android
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python