JavaScript参考手册
布尔型 | Boolean
Boolean
Boolean对象是一个布尔值的对象包装器。
语法
new Boolean([value])
参数
value 可选,用来初始化 Boolean 对象的值。
描述
如果第一个参数不是布尔值,则会将其转换为布尔值。如果省略该参数,或者其值为 0、-0、null、false、NaN、undefined、或者空字符串(""),则生成的 Boolean 对象的值为 false。如果传入的参数是 DOM 对象 document.all,也会生成值为 false 的 Boolean对象。任何其他的值,包括值为 "false" 的字符串和任何对象,都会创建一个值为 true 的 Boolean 对象。
注意不要将基本类型中的布尔值 true 和 false 与值为 true 和 false 的 Boolean 对象弄混了。
任何值为null,undefined的对象,或者Boolean值为false的对象,在传递给条件语句时都会被评估为true。例如,以下if语句中的条件评估为true:
var x = new Boolean(false);
if (x) {
// this code is executed
}
基本类型的布尔值不受此规则影响。例如下面的if语句的条件为假:
var x = false;
if (x) {
// this code is not executed
}
不要用创建 Boolean 对象的方式将一个非布尔值转化成布尔值,直接将 Boolean 当做转换函数来使用即可:
var x = Boolean(expression); // preferred
var x = new Boolean(expression); // don't use
对于任何对象,即使是值为false的Boolean对象,当将其传给Boolean函数时,生成的 Boolean 对象的值都是 true。
var myFalse = new Boolean(false); // initial value of false
var g = new Boolean(myFalse); // initial value of true
var myString = new String('Hello'); // string object
var s = new Boolean(myString); // initial value of true
最后,不要在应该使用基本类型布尔值的地方使用 Boolean 对象。
属性
Boolean.lengthlength属性,值为 1。Boolean.prototypeBoolean 构造函数的原型对象。
方法
Boolean 对象自身没有任何方法,不过它从自己的原型链上继承了一些方法,见下面的“Boolean实例”小节。
Boolean 实例
所有 Boolean 实例都继承于Boolean.prototype。与所有的构造函数一样,Boolean 的原型对象为其实例提供继承属性和方法。
属性
Boolean.prototype.constructor返回创建了实例原型的函数。默认为Boolean函数。
方法
Boolean.prototype.toSource()返回包含Boolean对象源码的字符串;你可以使用这个字符串来创建一个等价的对象。覆盖了Object.prototype.toSource()方法。
Boolean.prototype.toString()根据对象的值来返回一个字符串:"true"或"false"。覆盖了Object.prototype.toString()方法。
Boolean.prototype.valueOf()返回Boolean对象的原始值。覆盖了Object.prototype.valueOf()方法。
示例
创建值为 false 的 Boolean 对象
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
创建值为 true 的 Boolean 对象
var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});
规范
Specification |
Status |
Comment |
|---|---|---|
ECMAScript 1st Edition (ECMA-262) |
Standard |
初始定义,在 JavaScript 1.0 中实现 |
ECMAScript 5.1 (ECMA-262)The definition of 'Boolean' in that specification. |
Standard |
|
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Boolean' in that specification. |
Standard |
|
ECMAScript Latest Draft (ECMA-262)The definition of 'Boolean' in that specification. |
Living Standard |
|
浏览器兼容性
Feature |
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
|---|---|---|---|---|---|---|
Basic Support |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
prototype |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
toSource |
No |
No |
(Yes) |
No |
No |
No |
toString |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
valueOf |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
Feature |
Android |
Chrome for Android |
Edge mobile |
Firefox for Android |
IE mobile |
Opera Android |
iOS Safari |
|---|---|---|---|---|---|---|---|
Basic Support |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
prototype |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
toSource |
No |
No |
No |
(Yes) |
No |
No |
No |
toString |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
valueOf |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
布尔型 | Boolean相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络
加载中,请稍侯......