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深度交流

松软科技web课堂:JavaScript 布尔(逻辑)的更多相关文章

  1. 松软科技web课堂:JavaScript 数据类型

    字符串值,数值,布尔值,数组,对象. JavaScript 数据类型 JavaScript 变量能够保存多种数据类型:数值.字符串值.数组.对象等等: var length = 7; // 数字 va ...

  2. 松软科技Web课堂:JavaScript 类型转换

    Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值. JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串(string) ...

  3. 松软科技Web课堂:JavaScript JSON

    JSON 是存储和传输数据的格式. JSON 经常在数据从服务器发送到网页时使用. 什么是 JSON? JSON 指的是 JavaScript Object Notation JSON 是轻量级的数据 ...

  4. 松软科技Web课堂:JavaScript 异常

    JavaScript 错误 - Throw 和 Try to Catch try 语句使您能够测试代码块中的错误. catch 语句允许您处理错误. throw 语句允许您创建自定义错误. final ...

  5. 松软科技web课堂:JavaScript 比较和逻辑运算符

    JavaScript 比较和逻辑运算符 比较和逻辑运算符用于测试 true 或 false. 比较运算符 比较运算符在逻辑语句中使用,以判定变量或值是否相等. 我们给定 x = 5,下表中解释了比较运 ...

  6. 松软科技Web课堂:JavaScript this 关键词

    实例 var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : fu ...

  7. 松软科技Web课堂:JavaScript 正则表达式

    正则表达式是构成搜索模式的字符序列. 该搜索模式可用于文本搜索和文本替换操作. 什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使 ...

  8. 松软科技Web课堂:JavaScript Break 和 Continue

    break 语句“跳出”循环. continue 语句“跳过”循环中的一个迭代. Break 语句 在本教程稍早的章节中,您已见到了 break 语句.它被用于“跳出” switch 语句. brea ...

  9. 松软科技Web课堂:JavaScript For 循环

    循环可多次执行代码块. JavaScript 循环 假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用. 通常我们会遇到使用数组的例子: 不需要这样写: text += ca ...

随机推荐

  1. 移动端开发语言的未来的猜想#华为云&#183;寻找黑马程序员#【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  2. .NET Core简单使用RabbitMq

    RabbitMQ简介 RabbitMQ是一个开源的,基于AMQP(Advanced Message Queuing Protocol)协议的完整的可复用的企业级消息队,RabbitMQ可以实现点对点, ...

  3. 一道随机函数题:由rand5()生成rand7()

    题目:已知rand5()函数能随机等概率的生成0, 1, 2, 3, 4,利用rand5()函数编写一个rand7()函数实现相似的功能. 分析:其实就是利用rand5()组合成一个更大范围的数,之后 ...

  4. MySQL必知必会(Select)

    SELECT prod_name FROM products; SELECT prod_id, prod_name, prod_price FROM products; SELECT * FROM p ...

  5. luogu P1908 逆序对 |树状数组

    题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为"逆序对"的 ...

  6. http状态码_____ 204/206/200

    HTTP的状态码有很多种,主要有五个大类 1xx(临时响应) 2xx(成功) 3xx(已重定向) 4xx(请求错误) 5xx(服务器错误) 每个大类还对应一些具体的分类.平时我们接触比较多的是200. ...

  7. CoderForces999F-Cards and Joy

    F. Cards and Joy time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  8. 【python3】Python十行代码搞定文字转语音

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:万能搜吧 都是copy的百度SDK文档,简单说说怎么用. 1.没安装Py ...

  9. 使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!!

    使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!! 本方案测试两种种分辨率输出(其他更多分辨率设置,可以参考手册配置) 4608*3288=1515万像素 11 ...

  10. Ubuntu上面安装sqlite3可视化数据库软件

    .介绍:sqlite 3是linux上的小巧的数据库,一个文件就是一个数据库. 2.安装:要安装sqlite 3,可以在终端提示符后运行下列命令: sudo apt-get install sqlit ...