1. 布尔值为false的值

在JavaScript中,布尔值为 false的值有如下几个:

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""''(空字符串)

2. !!的作用

将上述值与 false作比较。

console.log(undefined==false); // false
console.log(null==false); // false
console.log(false==false); // true
console.log(0==false); // true
console.log(NaN==false); // false
console.log(""==false); // true
console.log(''==false); // true

发现 undefined==falsenull==falseNaN==false的值均为 false,如果加上 !!,结果如下:

console.log(!!undefined==false); // true
console.log(!!null==false); // true
console.log(!!false==false); // true
console.log(!!0==false); // true
console.log(!!NaN==false); // true
console.log(!!""==false); // true
console.log(!!''==false); // true

事实上,!!的作用是将值的类型强制转化为布尔类型。

3. 回顾条件判断语句

3.1 一个例子

var b = 0;
if(b){
console.log('true');
} else {
console.log('false'); // 执行这行代码
}
var b = 0;
if(b&&true){
console.log('true');
} else {
console.log('false'); // 执行这行代码
}
var b = 0;
if(!!b&&true){
console.log('true');
} else {
console.log('false'); // 执行这行代码
}

因此,if语句的条件表达式会执行隐式类型转换

3.2 另一个例子

function test(value){
return value && true;
}
console.log(test(0)); // 0
function test(value){
return !!value && true;
}
console.log(test(0)); // false

可以看到,!!value强制转化为布尔值。

最新文章

  1. PgwSlideshow-基于Jquery的图片轮播插件
  2. js清空array数组的方法
  3. 5.2 Adapter
  4. event.keycode大全(javascript)
  5. Android游戏框架之基础之AA碰撞系统
  6. 玩转Android之手摸手教你DIY一个抢红包神器!
  7. Python设计模式——模版方法模式
  8. uedoc 源码解析
  9. 如何使用chown?
  10. 西安Uber优步司机奖励政策(2月1日~2月7日)
  11. 通过RMAN克隆11g数据库(基于active database)
  12. VM VirtrualBox 安装centos6.5后的网络设置
  13. 栏目class导航
  14. 洛谷 [P1426] 通往奥格瑞玛的道路
  15. ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试
  16. 对象&内置对象& 对象构造 &JSON&__proto__和prototype
  17. JAVA分库分表的实现方案
  18. centos7 安装hadoop 集群遇到的问题
  19. 《linux下进程的创建,执行,监控和终止》
  20. Java流机制详解

热门文章

  1. Mysql基础(二):MySQL之存储引擎
  2. DirectX11 With Windows SDK--34 位移贴图
  3. Markdown 教程之编辑器
  4. 04 . Filebeat简介原理及配置文件和一些案例
  5. 深入理解 EF Core:使用查询过滤器实现数据软删除
  6. 微软如何绑定二次验证码_虚拟MFA_两步验证_身份验证?
  7. 橘子origin游戏平台如何绑定登陆验证/二次验证码?
  8. Python3的一些基本输入输出
  9. json:server 本地搭建
  10. Python编程:从入门到项目实践高清版附PDF百度网盘免费下载|Python入门编程免费领取