辨析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 相关文章推荐
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
基于node.js的快速开发透明代理
Dec 25 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
Apr 16 Javascript
Jquery为a标签的href赋值实现代码
May 03 Javascript
轻松实现Bootstrap图片轮播
Apr 20 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
vue.js移动端tab组件的封装实践实例
Jun 30 Javascript
Node.js事件的正确使用方法
Apr 05 Javascript
使用vue完成微信公众号网页小记(推荐)
Apr 28 Javascript
vue使用vuex实现首页导航切换不同路由的方法
May 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
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Python控制多进程与多线程并发数总结
2016/10/26 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
django在开发中取消外键约束的实现
2020/05/20 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
简洁的英文求职信范文
2014/05/03 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers