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 相关文章推荐
JS 统计时间
Mar 09 Javascript
JavaScript网页制作特殊效果用随机数
May 22 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
js 删除数组的几种方法小结
Feb 21 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
轻松掌握JavaScript策略模式
Aug 25 Javascript
JavaScript队列、优先队列与循环队列
Nov 14 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
Aug 19 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
create-react-app中添加less支持的实现
Nov 15 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开发文档 会员收费1期
2012/08/14 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
python实现用户答题功能
2018/01/17 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
Shell如何接收变量输入
2016/08/06 面试题
计算机应用专业推荐信
2013/11/13 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
大学运动会通讯稿
2014/01/28 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
2014年团委工作总结
2014/11/13 职场文书
个人总结与自我评价
2015/02/14 职场文书
第二次离婚起诉书
2015/05/18 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
浅析Python实现DFA算法
2021/06/26 Python
一起来学习Python的元组和列表
2022/03/13 Python
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫