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 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
非html5实现js版弹球游戏示例代码
Sep 22 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
JavaScript实现的一个倒计时的类
Mar 12 Javascript
jQuery打字效果实现方法(附demo源码下载)
Dec 18 Javascript
浅谈javascript alert和confirm的美化
Dec 15 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
JavaScript之Canvas_动力节点Java学院整理
Jul 04 Javascript
使用JavaScript实现点击循环切换图片效果
Sep 03 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
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站内搜索关键词变亮的实现方法
2014/12/30 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python七夕浪漫表白源码
2019/04/05 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python中Django文件上传方法详解
2020/08/05 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
中文专业毕业生自荐书范文
2014/01/04 职场文书
酒店节能减排方案
2014/05/26 职场文书
拓展策划方案
2014/06/03 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
MySQL分区以及建索引的方法总结
2022/04/13 MySQL