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+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
基于jquery实现控制经纬度显示地图与卫星
May 20 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
javascript self对象使用详解
Oct 18 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
js实现模糊匹配功能
Feb 15 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
Sep 28 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
Javascript模块化机制实现原理详解
Apr 02 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
使用Apache的rewrite
2021/03/09 Servers
兼容ie和firefox js关闭代码
2008/12/11 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
Python 中 Meta Classes详解
2016/02/13 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python2.7实现邮件发送功能
2018/12/12 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
python函数与方法的区别总结
2019/06/23 Python
python 画函数曲线示例
2019/12/04 Python
Django在Model保存前记录日志实例
2020/05/14 Python
税务专业毕业生自荐信
2013/11/10 职场文书
租房协议书样本
2014/08/20 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
保证书格式
2015/01/16 职场文书
Python绘制分类图的方法
2021/04/20 Python
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
Python简易开发之制作计算器
2022/04/28 Python