辨析JavaScript中的Undefined类型与null类型
2016-05-26 16:38
639 查看
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
您可能感兴趣的文章:
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- 使用C++实现JNI接口需要注意的事项
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解