值为flase的有:

false
0
"" //空串
null
undefined
NaN

除了以上的之外的都是ture,包括"0" (zero in quotes), "false" (false in quotes) , empty functions, [](空数组), and {}(empty objects),都是为true

var a = !!(0);    // false
var b = !!("0"); // true

为false的类型之间的比较:

false0 (zero), and "" (empty string)这三个都是"=="相等的

var c = (false == 0); // true
var d = (false == ""); // true
var e = (0 == ""); // true

null 和 undefined 除了他们自己本身相比较是"=="相等的,与其他的值相比较是不相等的

var f = (null == false); // false
var g = (null == null); // true
var h = (undefined == undefined); // true
var i = (undefined == null); // true

还有一个比较特殊的NaN,他和任何一个值都不相等

var j = (NaN == null); // false
var k = (NaN == NaN); // false

typeof(NaN)返回的“number”,一般我们通过isNaN()来判断一个值是不是NaN

上面的情况,如果使用“===”严格全等和“!==”严格不等,情况又不太一样了,这两个比较的是包括了类型和值

var l = (false == 0); // true
var m = (false === 0); // false

附上两适用的方法:

1.检查是否位空数组

var n =  ([].length == 0)  // ture

2.检查是否位空对象

var obj = {};
for (var i in obj){
if(obj[i]) {
return true;
} else {
return false;
}
}

最新文章

  1. redis主从同步
  2. CSS基础知识真难啊-background-渐变
  3. confluence安装
  4. java的web项目中使用cookie保存用户登陆信息
  5. 【CoreData】parent-child关系ManagedObjectContext应用
  6. Android Traceroute 功能实现
  7. [POJ] 1274 The Perfect Stall(二分图最大匹配)
  8. [Head First Python]4. summary
  9. 基于visual Studio2013解决面试题之1109全排列
  10. spring mvc 文件下载
  11. [bzoj1070][SCOI2007]修车——费用流
  12. Linux之lsof命令
  13. Group Anagrams 群组错位词
  14. win10安装JDK详细教程
  15. linux子系统ubuntu16.04安装使用xrdp当远程桌面
  16. 关于 登录框的测试的一些case
  17. Day 4-2 time & datetime模块
  18. C#宣告一个变量
  19. sql中的函数
  20. Java第11章笔记

热门文章

  1. C#学习笔记(一)
  2. mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等
  3. Tiny6410 交叉编译helloworld程序
  4. 关于DataTables一些小结
  5. c++ const 关键字 学习笔记
  6. 修改VMware Workstation 界面语言
  7. Android 常用UI控件之TabHost(5)Tab栏在底部且在最上层也不盖tab页
  8. C# CLR及程序集部署浅析
  9. poj2750Potted Flower (线段树)
  10. 扫描.net dll引用dll