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 得到文件后缀名的思路及实现
May 09 Javascript
js 判断计算字符串长度/判断空的简单方法
Aug 05 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
详解javascript设计模式三:代理模式
Mar 25 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
vue 设置 input 为不可以编辑的实现方法
Sep 19 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
Oct 09 Javascript
JavaScript基于SVG的图片切换效果实例代码
Dec 15 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判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
JavaScript 注册事件代码
2011/01/27 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
Python实现批量下载文件
2015/05/17 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
利用aardio给python编写图形界面
2017/08/21 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python for循环remove同一个list过程解析
2019/08/14 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
销售类个人求职信范文
2013/09/25 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
董事长助理工作职责
2014/06/08 职场文书
安全环保标语
2014/06/09 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python