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 相关文章推荐
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
Sep 26 Javascript
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
JS简单验证上传文件类型的方法
Apr 17 Javascript
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
浅析Angular 实现一个repeat指令的方法
Jul 21 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
利用vue3+ts实现管理后台(增删改查)
Oct 30 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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
javascript判断office版本示例
2014/04/11 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
python获取图片颜色信息的方法
2015/03/18 Python
python开发之函数定义实例分析
2015/11/12 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
对numpy中轴与维度的理解
2018/04/18 Python
Python语言异常处理测试过程解析
2020/01/08 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
银行职业规划书范文
2013/12/28 职场文书
高三霸气励志标语
2014/06/24 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
护士2014年终工作总结
2014/11/11 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android