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实现手把手教你月入万刀(转贴)
Nov 07 Javascript
写自已的js类库需要的核心代码
Jul 16 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
Oct 16 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
jQuery操作之效果详解
May 19 jQuery
JS中图片压缩的方法小结
Nov 14 Javascript
微信小程序 Animation实现图片旋转动画示例
Aug 22 Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 Javascript
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
CocosCreator入门教程之网络通信
Apr 16 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
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
php魔术变量用法实例详解
2014/11/13 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
django解决跨域请求的问题详解
2019/01/20 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
python中元组的用法整理
2020/06/15 Python
python else语句在循环中的运用详解
2020/07/06 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
计算机专业毕业生推荐信
2013/11/25 职场文书
工艺员岗位职责
2014/02/11 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
施工安全汇报材料
2014/08/17 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
民事申诉状范本
2015/05/20 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书