js中的null和undefined
2024-08-26 21:58:20
大部分编程语言一般有一个表示“无”的值,而js中却有两个,null和undefined。所以查了一些资料,小结在此,以便查阅。
js中的变量有两大类,基本的值类型,引用类型。其中值类型分为:Undefined,Null,Number,Boolean,String五种。可见null和undefined是不同的类型。
a)undefined
undefined的出现一般有以下几种情况:
1 变量声明而未初始化。
2 对象的属性未赋值。
3 函数调用时,缺省的参数为undefined。
4 函数没有返回值时,默认返回undefined。
从上面可以看出,当变量或属性未初始化时,缺省值即为undefined,所以不需要显示的设置一个变量的值为undefined。这时就会想不需要显示设置,要他干吗???其实它只是为了区分空对象指针(null)与未经初始化的变量(undefined)。
b)null
null表示空对象指针,即存储尚未存在的对象。所以这也是使用typeof操作符检测null时返回"object"的原因。(typeof返回字符串且首字母小写)
上面提到不需要显示设置变量值为undefined,而把值设置为null却是很必要的,假如声明的变量用来表示对象,而还没有真正保存,就应该将其设置为null。
还有就是undefined是派生自null的,所以用“==”时返回的是true。
最新文章
- checkbox点击后出现div
- Sunny-Code Beta版总结会议
- BZOJ 1452 [JSOI2009] Count
- JDBC 元数据 事务处理
- 迅影QQ视频查看v2.0 源码
- python 中range与xrange的区别
- MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- 超好用文件对比工具 – Beyond Compare
- 关于phpmyadmin中添加外键的做法
- Oracle EBS-SQL (INV-1):检查物料成本为0并且物料状态不是'NEW'的物料.sql
- 开源 自由 java CMS - FreeCMS1.9 分纪录
- spring中对象的注入方式
- 5分钟了解MySQL5.7的undo log在线收缩新特性
- Android简易实战教程--第九话《短信备份~二》
- Spring整合MyBatis 你get了吗?
- c++后台开发路线
- Hadoop HBase概念学习系列之HFile(二十)
- asp.net core 自定义中间件和service
- php 双引号字符串里包变量的用法
- 20155212 2016-2017-2 《Java程序设计》第2周学习总结
热门文章
- 【阅读】提问的智慧+有效的报告BUG
- 网络编辑基础:对HTTP协议的头信息详解
- DBus学习笔记
- memcache、memcached、groupcache的区别
- SqlDataReader对象的NextResult方法读取存储过程多个结果集
- Loadrunner脚本之C语言文件处理函数
- Python函数练习:冒泡算法+快速排序(二分法)
- Linux操作系统中,.zip、.tar、.tar.gz、.tar.bz2、.tar.xz、.jar、.7z等格式的压缩与解压
- Java线程同步_1
- Chapter6:函数