JavaScript中奇葩的假值示例应用


Posted in Javascript onMarch 11, 2014

通常在以下语句结构中需要判断真假

if分支语句
while循环语句
for里的第二个语句


if (boo) { 
// do something 
} while (boo) { 
// do something 
}

JavaScript中有6个值为“假”,这六个值是

false
null
undefined
0
'' (空字符串)
NaN

这里面false本身是布尔类型,其它5个则不是。

除了这6个外,其它均为“真” ,包括对象、数组、正则、函数等。注意 '0'、'null'、'false'、{}、[]也都是真值 。

虽然这六个值都为“假”,它们之间并非都相等

console.log( false == null ) // false 
console.log( false == undefined ) // false 
console.log( false == 0 ) // true 
console.log( false == '' ) // true 
console.log( false == NaN ) // false console.log( null == undefined ) // true 
console.log( null == 0 ) // false 
console.log( null == '' ) // false 
console.log( null == NaN ) // false 
console.log( undefined == 0) // false 
console.log( undefined == '') // false 
console.log( undefined == NaN) // false 
console.log( 0 == '' ) // true 
console.log( 0 == NaN ) // false

对于“==”,以上得出下列结论

false 除了和自身比较为true外,和0,'' 也为true
null只和undefined比较时为true, 反过来undefined也仅和null比较为true,没有第二个
0除了和false比较为true,还有一个空字符串 ''
空字符串''出了和false比较为true,还有一个数字0

Javascript 相关文章推荐
25个优雅的jQuery Tooltip插件推荐
May 25 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
Dec 03 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
Sep 14 Javascript
Bootstrap源码解读网格系统(3)
Dec 22 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
详解解决使用axios发送json后台接收不到的问题
Jun 27 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
Sep 10 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 Javascript
Vue scoped及deep使用方法解析
Aug 01 Javascript
Javascript加载速度慢的解决方案
Mar 11 #Javascript
js解析json读取List中的实体对象示例
Mar 11 #Javascript
JS图片无缝、平滑滚动代码
Mar 11 #Javascript
js 针对html DOM元素操作等经验累积
Mar 11 #Javascript
表单提交前触发函数返回true表单才会提交
Mar 11 #Javascript
php析构函数的具体用法小结
Mar 11 #Javascript
ie浏览器使用js导出网页到excel并打印
Mar 11 #Javascript
You might like
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP钩子实现方法解析
2019/05/21 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
泛谈JS逻辑判断选择器 || &&
2019/05/24 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
python中MySQLdb模块用法实例
2014/11/10 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
热能动力工程毕业生自荐信
2013/11/07 职场文书
应届毕业生求职信
2013/11/30 职场文书
教师党员承诺书
2014/03/25 职场文书
电钳工人个人求职信
2014/05/10 职场文书
我的中国心演讲稿
2014/09/04 职场文书
2014年节能工作总结
2014/12/18 职场文书
普宁寺导游词
2015/02/04 职场文书
催款函范本大全
2015/06/24 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android