JavaScript中值的真真假假(true and false)
2024-08-25 22:10:50
值为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的类型之间的比较:
false, 0 (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;
}
}
最新文章
- redis主从同步
- CSS基础知识真难啊-background-渐变
- confluence安装
- java的web项目中使用cookie保存用户登陆信息
- 【CoreData】parent-child关系ManagedObjectContext应用
- Android Traceroute 功能实现
- [POJ] 1274 The Perfect Stall(二分图最大匹配)
- [Head First Python]4. summary
- 基于visual Studio2013解决面试题之1109全排列
- spring mvc 文件下载
- [bzoj1070][SCOI2007]修车——费用流
- Linux之lsof命令
- Group Anagrams 群组错位词
- win10安装JDK详细教程
- linux子系统ubuntu16.04安装使用xrdp当远程桌面
- 关于 登录框的测试的一些case
- Day 4-2 time &; datetime模块
- C#宣告一个变量
- sql中的函数
- Java第11章笔记
热门文章
- C#学习笔记(一)
- mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等
- Tiny6410 交叉编译helloworld程序
- 关于DataTables一些小结
- c++ const 关键字 学习笔记
- 修改VMware Workstation 界面语言
- Android 常用UI控件之TabHost(5)Tab栏在底部且在最上层也不盖tab页
- C# CLR及程序集部署浅析
- poj2750Potted Flower (线段树)
- 扫描.net dll引用dll