JavaScript 布尔(逻辑)代表两个值之一:true 或 false。

布尔值

通常,在编程中,您会需要只能有两个值之一的数据类型,比如

  • YES / NO
  • ON / OFF
  • TRUE / FALSE

鉴于此,JavaScript 提供一种布尔数据类型。它只接受值 true 或 false。

Boolean() 函数

您可以使用 Boolean() 函数来确定表达式(或变量)是否为真:

实例

Boolean(10 > 9)        // 返回 true

或者甚至更简单:

实例

(10 > 9)              // 也返回 true
10 > 9 // 也返回 true

比较和条件

JS 比较这一章列出了完整的比较运算符。

JS 条件这一章列出了完整的条件语句。

下面是一些例子:

运算符 描述 实例
== 等于 if (day == "Monday")
> 大于 if (salary > 9000)
< 小于 if (age < 18)

表达式的布尔值是 JavaScript 比较和条件的基础。

所有具有“真实”值的即为 True

实例

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14

5 < 6 

所有不具有“真实”值的即为 False

所有不具有“真实”值的即为 False
0(零)的布尔值为 false: var x = 0;
Boolean(x); // 返回 false

-0 (负零)的布尔值为 false:

var x = -0;
Boolean(x); // 返回 false

""(空值)的布尔值为 false:

var x = -0;
Boolean(x); // 返回 false

undefined 的布尔值是 false:

var x;
Boolean(x); // 返回 false

null 的布尔值是 false:

var x = null;
Boolean(x); // 返回 false

false 的布尔值(正如您猜到的)是 false:

var x = null;
Boolean(x); // 返回 false

NaN 的布尔值是 false:

var x = 10 / "H";
Boolean(x); // 返回 false

布尔可以是对象

通常 JavaScript 布尔是由字面量创建的原始值:

var x = false

但是布尔也可以通过关键词 new 作为对象来定义:

var y = new Boolean(false)

实例

var x = false;
var y = new Boolean(false); // typeof x 返回 boolean
// typeof y 返回 object

不要创建布尔对象。它会拖慢执行速度。

new 关键词会使代码复杂化,并产生某些意想不到的结果:

当使用 == 运算符时,相等的布尔是相等的:

实例

var x = false;
var y = new Boolean(false); // (x == y) 为 true,因为 x 和 y 拥有相等的值

当使用 === 运算符时,相等的布尔是不相等的,因为 === 运算符需要在类型和值两方面同时相等。

实例

var x = false;
var y = new Boolean(false); // (x === y) 为 false,因为 x 和 y 的类型不同

或者甚至更糟。对象无法进行比较:

实例

var x = new Boolean(false);
var y = new Boolean(false); // (x == y) 为 false,因为对象无法比较

比较两个 JavaScript 对象将始终返回 false。

文章来源:www.sysoft.net.cn,加v:15844800162深度交流

最新文章

  1. combobox实现模糊查询自动填充
  2. zkw费用流+当前弧优化
  3. zabbix使用介绍
  4. [Android Pro] 关于inputStream.available()方法获取文件的总大小
  5. iOS开发Swift篇—(八)函数(2)
  6. Android概述
  7. 在Windows下部署安装hexo
  8. css3 字体旋转
  9. jQuery简单的Ajax调用示例
  10. C语言获取文件SHA1哈希
  11. PHP: 异常exception
  12. QMediaPlayer占用CPU过高问题
  13. springmvc4开发rest
  14. 前端CSS学习-Background背景相关
  15. wdcp lanmp 安装+搭建网站+安全狗安装 详细实用
  16. 前端 CSS预处理器Less
  17. Qt编写高仿苹果MAC电脑输入法(支持触摸滑动选词)
  18. 在Laravel中使用mongoDB
  19. docker使用大全 tomcat安装
  20. Python把同一个对象循环赋值给另外一个变量

热门文章

  1. python原类、类的创建过程与方法
  2. 【Python成长之路】从零学GUI -- 制作智能聊天机器人
  3. 一道随机函数题:由rand5()生成rand7()
  4. JsonSchmea用法
  5. IPV6-ONLY
  6. Java修炼——文件字节输入输出流复制和缓冲流复制
  7. HDU11269 迷宫城堡(强连通分量)
  8. 分布式监控数据采集系统Ganglia实战
  9. ARTS-S docker ceontos镜像中使用crontab
  10. python学习-继承