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 AspxButton的客户端操作
Jun 26 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
Apr 04 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
bootstrap table支持高度百分比的实例代码
Feb 28 Javascript
深入浅析Vue中的Prop
Jun 10 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
node中使用log4js4.x版本记录日志的方法
Aug 20 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带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
python中关于日期时间处理的问答集锦
2013/03/08 Python
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
厂长助理岗位职责
2013/12/27 职场文书
教师评优事迹材料
2014/01/10 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
2015年度党员个人总结
2015/02/14 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript