辨析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 相关文章推荐
pjblog修改技巧汇总
Mar 12 Javascript
JavaScript库 开发规则
Jan 31 Javascript
jquery实现输入框动态增减的实例代码
Jul 14 Javascript
jquery sortable的拖动方法示例详解
Jan 16 Javascript
node.js中的fs.symlink方法使用说明
Dec 15 Javascript
jQuery中slideUp 和 slideDown 的点击事件
Feb 26 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
Mar 19 Javascript
js回溯法计算最佳旅行线路代码实例
Sep 11 Javascript
如何在微信小程序中使用骨架屏的步骤
Jun 12 Javascript
微信小程序picker组件两列关联使用方式
Oct 27 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
通过命令行创建vue项目的方法
2017/07/20 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
opencv+python实现均值滤波
2020/02/19 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
Servlet的生命周期
2013/08/25 面试题
员工培训心得体会
2013/12/30 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
社区工作者感言
2014/03/02 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书