一、javaScript五种空值和假值

分别为undefined,null,false,"",0,这五个值的共同点是在执行if语句时都会执行false分支,执行对应的非语句的时候都执行true分支。

1、undefined:表明变量没有初始化,即“未定义”;

2、null:js关键字,用于描述“空值”,表示数字、字符串、对象是“无值”的,typeof为object,但不具备对象实例的属性与方法;

3、false、""、0:在if语句中表现为假值,但是他们都是有意义的数据,只是被用作空值或假值;

数据类型如下:

typeof(undefined) == 'undefined'
typeof(null) == 'object'
typeof("") == 'String'
typeof(0) == 'number'
typeof(false) == 'boolean'

二、数据是否为空的判断

//    var a = "";
// var a = " ";
// var a = null;
// var a = undefined;
// var a = [];
// var a = {};
// var a = NaN; if(a === undefined) { // 只能用 === 运算来测试某个值是否是未定义的
console.log("为undefined");
} if(a == null) { // 等同于 a === undefined || a === null
console.log("为null");
} // String
if(a == "" || a == null || a == undefined){ // "",null,undefined
console.log("为空");
}
if(!a){ // "",null,undefined,NaN
console.log("为空");
}
if(!$.trim(a)){ // "",null,undefined
console.log("为空");
} // Array
if(a.length == 0){ // "",[]
console.log("为空");
}
if(!a.length){ // "",[]
console.log("为空");
} // Object {}
if($.isEmptyObject(a)){ // 普通对象使用 for...in 判断,有 key 即为 false
console.log("为空");
}

最新文章

  1. sp_helpdb
  2. HBase 在HDFS 上的目录树
  3. j2ee爬坑行之二 servlet
  4. MySQL查询数据表中数据记录(包括多表查询)
  5. (转)IE劫持原理 BHO
  6. Ubuntu下使用Vi时方向键变乱码 退格键不能使用的解决方法
  7. WebAppBuilder自定义主题
  8. 标准IO和重定向
  9. (转)java中/r与/n还有/r/n的区别
  10. select选择框在谷歌火狐和IE样式的不同
  11. UNREFERENCED_PARAMETER
  12. Spring Security 入门(1-5)Spring Security - 匿名认证
  13. jieba库词频统计练习
  14. js 变量作用域
  15. a标签返回上一页,并刷新
  16. Linux 批量查找替换方法(VIM和sed)
  17. git常用的命令你知道有哪些?
  18. 虚拟机中安装windows server 2008方法
  19. WebSocket 教程(转载)
  20. Java文件执行顺序总结

热门文章

  1. In-App Purchase Programming Guide----(八) ---- Preparing for App Review
  2. pyjsonrpc模块使用
  3. 1. md5 collision(50)
  4. 无监督学习:Neighbor Embedding(邻域嵌套)
  5. OVN架构翻译
  6. 【转】insert忽略重复、mysql插入操作跳过、插入覆盖覆盖、mysql更新重复
  7. IT兄弟连 Java语法教程 编写Java源代码
  8. 聊聊 Laravel 5.5 的 「自动发现」
  9. glassfish cluster 搭建
  10. 从各处收集的switch语句