大部分编程语言一般有一个表示“无”的值,而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。

最新文章

  1. checkbox点击后出现div
  2. Sunny-Code Beta版总结会议
  3. BZOJ 1452 [JSOI2009] Count
  4. JDBC 元数据 事务处理
  5. 迅影QQ视频查看v2.0 源码
  6. python 中range与xrange的区别
  7. MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
  8. 超好用文件对比工具 – Beyond Compare
  9. 关于phpmyadmin中添加外键的做法
  10. Oracle EBS-SQL (INV-1):检查物料成本为0并且物料状态不是'NEW'的物料.sql
  11. 开源 自由 java CMS - FreeCMS1.9 分纪录
  12. spring中对象的注入方式
  13. 5分钟了解MySQL5.7的undo log在线收缩新特性
  14. Android简易实战教程--第九话《短信备份~二》
  15. Spring整合MyBatis 你get了吗?
  16. c++后台开发路线
  17. Hadoop HBase概念学习系列之HFile(二十)
  18. asp.net core 自定义中间件和service
  19. php 双引号字符串里包变量的用法
  20. 20155212 2016-2017-2 《Java程序设计》第2周学习总结

热门文章

  1. 【阅读】提问的智慧+有效的报告BUG
  2. 网络编辑基础:对HTTP协议的头信息详解
  3. DBus学习笔记
  4. memcache、memcached、groupcache的区别
  5. SqlDataReader对象的NextResult方法读取存储过程多个结果集
  6. Loadrunner脚本之C语言文件处理函数
  7. Python函数练习:冒泡算法+快速排序(二分法)
  8. Linux操作系统中,.zip、.tar、.tar.gz、.tar.bz2、.tar.xz、.jar、.7z等格式的压缩与解压
  9. Java线程同步_1
  10. Chapter6:函数