JavaScript
- JavaScript 表单验证
- JavaScript 表单
- JavaScript JSON
- JavaScript 使用误区
- JavaScript 代码规范
- JavaScript 调试
- JavaScript let 和 const
- JavaScript this 关键词
- JavaScript 严格模式(use strict)
- JavaScript 变量提升
- JavaScript 作用域
- JavaScript 错误 - Throw 和 Try to Catch
- JavaScript 正则表达式
- JavaScript 位运算符
- JavaScript 类型转换
- JavaScript Break 和 Continue
- JavaScript While 循环
- JavaScript For 循环
- JavaScript Switch 语句
- JavaScript If...Else 语句
- JavaScript 比较和逻辑运算符
- JavaScript 逻辑
- JavaScript 随机
- JavaScript Math 对象
- JavaScript 设置日期方法
- JavaScript 获取日期方法
- JavaScript 日期格式化
- JavaScript 日期
- JavaScript 数组迭代方法
- JavaScript 数组排序
- JavaScript 数组方法
- JavaScript 数组
- JavaScript 数值方法
- JavaScript 数字
- JavaScript 字符串方法
- JavaScript 字符串
- JavaScript 事件
- JavaScript 对象
- JavaScript 函数
- JavaScript 数据类型
JavaScript 逻辑
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
0(零)的布尔值为 false:
var x = 0;
Boolean(x); // 返回 false
-0 (负零)的布尔值为 false:
var x = -0;
Boolean(x); // 返回 false
""(空值)的布尔值为 false:
var x = "";
Boolean(x); // 返回 false
undefined 的布尔值是 false:
var x;
Boolean(x); // 返回 false
null 的布尔值是 false:
var x = null;
Boolean(x); // 返回 false
false 的布尔值(正如您猜到的)是 false:
var x = false;
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。
完整的布尔参考手册
如需完整的参考手册,请访问我们的 JavaScript 布尔参考手册。
参考手册包含有关所有布尔属性和方法的描述和实例。
写笔记