导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript 布尔运算符


JavaScript 布尔(逻辑)代表两个值之一:truefalse


布尔值

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

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

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


Boolean() 函数

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

实例

Boolean(10 > 9)        // 返回 true
亲自试一试 »

甚至更简单:

实例

(10 > 9)              // 也返回真
10 > 9                // 也返回真
亲自试一试 »

比较和条件

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

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

以下是一些实例:

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

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


所有具有"真实"值的即为 True

实例

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14
亲自试一试 »

所有不具有"真实"值的即为 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 returns boolean
 //typeof y returns object
亲自试一试 »

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

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

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

实例

var x = false;             
var y = new Boolean(false);

// (x == y) 为真,因为 x 和 y 具有相等的值 
亲自试一试 »

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

实例

var x = false;             
var y = new Boolean(false);

// (x === y) 是假的,因为 x 和 y 有不同的类型
亲自试一试 »

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

实例

var x = new Boolean(false);             
var y = new Boolean(false);

// (x == y) 为假,因为无法比较对象
亲自试一试 »

注意 (x==y) 和 (x===y) 之间的差异。
比较两个 JavaScript 对象将始终返回 false。


完整的布尔参考手册

如需完整的参考手册,请访问我们的 JavaScript 布尔参考手册

参考手册包含有关所有布尔属性和方法的描述和实例。


freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8