区别Javascript中的Null与Undefined
时间:2007-12-13 20:24:00
在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined?
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
js 代码
var oValue;
alert(oValue == undefined); //output "true"
这段代码显示为true,代表oVlaue的值即为undefined,因为我们没有初始化它。
js 代码
alert(null == document.getElementById('notExistElement'));
当页面上不存在id为”notExistElement”的DOM节点时,这段代码显示为”true”,因为我们尝试获取一个不存在的对象。
js 代码
alert(typeof undefined); //output "undefined"
alert(typeof null); //output "object"
第一行代码很容易理解,undefined的类型为Undefined;第二行代码却让人疑惑,为什么null的类型又是Object了呢?其实这是 JavaScript最初实现的一个错误,后来被ECMAScript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符,但是在实际编码时还是要注意这一特性。
js 代码
alert(null == undefined); //output "true"
ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。
js 代码
alert(null === undefined); //output "false"
alert(typeof null == typeof undefined); //output "false"
使用typeof方法在前面已经讲过,null与undefined的类型是不一样的,所以输出”false”。而===代表绝对等于,在这里null === undefined输出false。
标签:Null,Undefined,Javascript
0
投稿
猜你喜欢
SpringBoot集成Flyway进行数据库版本迁移管理的步骤
2024-01-13 19:18:53
使用sp_xml_preparedocument处理XML文档的方法
2011-09-30 11:56:15
PHP获取url的函数代码
2023-10-15 12:45:00
通过T-SQL语句实现数据库备份与还原的代码
2011-12-01 08:02:15
Python多线程通信queue队列用法实例分析
2023-09-22 21:11:44
浅谈python 导入模块和解决文件句柄找不到问题
2023-12-07 03:40:07
python的dataframe转换为多维矩阵的方法
2021-08-19 08:59:09
Python Celery动态添加定时任务生产实践指南
2023-06-29 16:57:12
Windows Server 2003下修改MySQL 5.5数据库data目录
2024-01-14 17:42:28
Python 基础教程之包和类的用法
2021-10-31 16:58:19
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2022-04-17 13:47:18
sysbench-0.4.12编译安装和CPU测试例子分享
2024-01-24 10:06:21
使用python实现kmean算法
2022-09-17 13:07:22
go各种import的使用方法讲解
2024-05-02 16:25:32
python pandas处理excel表格数据的常用方法总结
2023-06-02 19:49:47
在 Windows 下搭建高效的 django 开发环境的详细教程
2023-08-31 06:14:12
详解C#把DataTable中数据一次插入数据库的方法
2024-01-17 20:23:51
运用ASP调用数据库中视图及存储过程
2008-02-03 15:33:00
python pptx复制指定页的ppt教程
2023-08-20 22:54:50
在VSCode中配置PHP开发环境的实战步骤
2023-06-06 02:13:06