苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V1.9) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 124|回复: 0

[JavaScript] js中会自动转为false的几种情况

[复制链接]
发表于 2019-5-13 09:57:14 | 显示全部楼层 |阅读模式
下面6种值转化为布尔值时为false,其他转化都为true
[C#] 纯文本查看 复制代码
1、undefined(未定义,找不到值时出现)
2、null(代表空值)
3、false(布尔值的false,字符串"false"布尔值为true)
4、0(数字0,字符串"0"布尔值为true)
5、NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number")
6、""(双引号)或''(单引号) (空字符串,中间有空格时也是true)

注意空数组空对象,负值转的布尔值时都为true
不同数据类型转化为布尔值的结果
数据类型转为true的值转为false的值
Booleantruefalse
String任何非空字符串''(空字符串)
Number任何非零数字值(包括无穷大)0和NaN
Object任何对象null
Undefinedn/aundefined

[C#] 纯文本查看 复制代码
对于0, '', null, undefined, NaN,{}, [], Infinity求布尔值,分别是false false false false false true true true.

因此我们知道的一点是:对象的布尔值是true,即使是对象{}。

"!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。

例如
[C#] 纯文本查看 复制代码
 array=[1,2,3]      array.num=undefind   !array.num=true   !!array.num=fals

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2019-5-27 11:55

© 2017-2018

快速回复 返回顶部 返回列表