JavaScript中奇葩的假值
2015-08-28 20:40
429 查看
JavaScript中奇葩的假值
通常在以下语句结构中需要判断真假if分支语句
while循环语句
for里的第二个语句
如
false
null
undefined
0
'' (空字符串)
NaN
这里面 false 本身是布尔类型,其它 5 个则不是。
除了这 6 个外,其它均为“真” ,包括对象、数组、正则、函数等。注意 '0'、'null'、'false'、{}、[]也都是真值 。
虽然这六个值都为“假”,它们之间并非都相等
false 除了和自身比较为 true 外,和 0,"" 比较也为 true
null 只和 undefined 比较时为 true, 反过来 undefined 也仅和 null 比较为 true,没有第二个
0 除了和 false 比较为 true,还有空字符串 ''" 和空数组 []
空字符串 '' 除了和 false 比较为 true,还有一个数字 0
当然,对于这一切,查看下规范是最踏实的,ES里的ToBoolean阐述了所有情形
相关文章推荐
- javascript Date format(js日期格式化)
- 分析json、xml的区别?json、xml解析方式的底层是如何处理的?
- jsp开发环境的搭建
- javascript中用构造器创建对象与字面量创建对象的区别
- Physics.js入门
- JSP用户注册登陆注销JSP页面
- JSP页面的五种跳转方法
- 简洁JS 日历控件 支持日期和月份选择
- JavaScript实现瀑布流布局以及页面的自动加载
- JSP中九大内置对象详解
- JavaScript 运行机制与单线程
- ajax后台return,js判断方法
- 【JavaScript】js数组操作,由push到那么多
- 阿里云oss post上传文件 JavaScript代码示例 $.ajax()
- <c:foreach>解决遍历一个list创建多行多列列表的问题
- JSON格式
- 学习zepto.js(对象方法)[5]
- JavaScript中为什么string可以拥有方法?
- js中实现数组去重的5种方法
- JavaScript实现类的private、protected、public、static以及继承