编辑这个页面须要登录或更高权限!

JavaScript Boolean(布尔) 对象

在计算机科学中,布尔值是逻辑数据类型,只能具有truefalse值。

为此,JavaScript具有布尔数据类型。它只能采用truefalse值。

let x = true;
let y = false;
测试看看‹/›

Boolean()函数

该Boolean()函数可用于查找表达式是否为true

Boolean(10 < 22) // 返回 true
测试看看‹/›

或者,您也可以使用以下语法:

(5 > 10)  // 返回 false
(5 < 10)  // 返回 true
("Apple" === "Apple") // 返回 true
测试看看‹/›

比较和条件

在JavaScript中,布尔条件条件通常用于确定要执行代码的哪些部分(例如if语句中)或重复执行(例如for循环中)。

下面是一些JavaScript伪代码(不是真正的可执行代码),它证明了这一概念。

  /* JavaScript if语句 */
  if (boolean conditional) {
   // 条件为真时执行的代码
  }
  
  if (boolean conditional) {
   console.log("布尔条件检测结果为true");
  } else {
   console.log("布尔条件检测结果为false");
  }
  
  
  /* JavaScript for 循环 */
  for (control variable; boolean conditional; counter) {
  // 如果条件为真,则重复执行的代码
  }
  
  for (var i = 0; i < 4; i++) {
  console.log("仅在布尔条件为true时,才打印");
  }

以下是布尔条件的一些示例:

操作符描述
==等于if (month == "July")
>大于if (age > 18)
<少于if (age < 18)

一切带有“value”的东西都是真实的

所有值,包括任何对象或字符串“ false”,都会创建一个初始值true

Boolean(50);  // 返回 true
Boolean(-50); // 返回 true
Boolean(3.14);// 返回 true
Boolean("Hello"); // 返回 true
Boolean("false"); // 返回 true
测试看看‹/›

没有“value”的一切都是假的

如果一个值被省略或为0,-0,null,false,NaN,undefined或空字符串(“”),则该对象的初始值为false

布尔值0(零)为false

var x = 0;
Boolean(x); // 返回 false
测试看看‹/›

布尔值-0(减零)为false

var x = -0;
Boolean(x); // 返回 false
测试看看‹/›

null的布尔值是false

var x = null;
Boolean(x); // 返回 false
测试看看‹/›

false的布尔值为false

var x = false;
Boolean(x); // 返回 false
测试看看‹/›

NaN的布尔值是false

var x = 50 / "Parrot";   // x will be NaN (Not a Number)
Boolean(x);  // 返回 false
测试看看‹/›

undefined的布尔值是false

var x;
Boolean(x); // 返回 false
测试看看‹/›

空字符串(“”)的布尔值是false

var x = "";
Boolean(x); // 返回 false
测试看看‹/›

布尔基元和布尔对象

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

var x = false;

但是,也可以使用 new关键字将布尔值定义为对象:

var x = new Boolean(false);

为了测试两者之间的差异,我们将初始化一个布尔基元和一个布尔对象。

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

typeof x// 返回 boolean
typeof y// 返回 object
测试看看‹/›

注意:请勿将布尔值创建为对象。这会降低执行速度,并会产生一些意外的结果。

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

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

document.write(x == y); // 返回true,因为x和y具有相等的值
测试看看‹/›

使用===运算符时,相等的布尔值不相等,因为===运算符期望值和类型都相等:

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

document.write(x === y); // 返回false,因为x和y具有不同的类型
测试看看‹/›

对象无法比较:

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

document.write(x == y); // 因为x和y是不同的对象,所以返回false
document.write(x === y); // 因为x和y是不同的对象,所以返回false
测试看看‹/›

注意(==)和(===)之间的区别。比较两个JavaScript对象将始终返回false。

完整的布尔参考

有关完整的属性和方法参考,请访问我们的JavaScript布尔参考

参考部分包含所有布尔属性和方法的描述和示例。

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册