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动态加载javascript以减少服务器压力
Oct 29 Javascript
利用JavaScript检测CPU使用率自己写的
Mar 22 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
详解Node.js串行化流程控制
May 04 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
JavaScript数组类型Array相关的属性与方法详解
Sep 08 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 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登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
Prototype Template对象 学习
2009/07/19 Javascript
js数组操作学习总结
2013/11/04 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
python中input()与raw_input()的区别分析
2016/02/27 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
python实现周期方波信号频谱图
2018/07/21 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
python使用smtplib模块发送邮件
2020/12/17 Python
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
cf搞笑广告词
2014/03/14 职场文书
爱护公物标语
2014/06/24 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
中学生打架检讨书
2014/10/13 职场文书
红色电影观后感
2015/06/18 职场文书
关于开学的感想
2015/08/10 职场文书
合作合同协议书
2016/03/21 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
你真的会用Mysql的explain吗
2022/03/31 MySQL
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers