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源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
Sep 16 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
Jul 27 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
Aug 09 Javascript
easyui导出excel无法弹出下载框的快速解决方法
Nov 10 Javascript
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
Python素数检测实例分析
2015/06/15 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python实现归并排序算法
2018/11/22 Python
Form表单及django的form表单的补充
2019/07/25 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
Python with标签使用方法解析
2020/01/17 Python
详解python中的闭包
2020/09/07 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
初二学生评语大全
2014/12/26 职场文书
干部培训工作总结2015
2015/05/25 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS