• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • new Boolean()

    Boolean对象是一个布尔值的对象包装器。

    语法

    new Boolean([value])
    

    参数

    value
    可选,用来初始化Boolean对象的值。

    描述

    如果第一个参数不是布尔值,则会将其转换为布尔值。如果省略该参数,或者其值为0-0document.all,也会生成值为falseBoolean对象。任何其他的值,包括值为"false"的字符串和任何对象,都会创建一个值为trueBoolean对象。

    注意不要将基本类型中的布尔值truefalse与值为truefalseBoolean对象弄混了。

    任何不是if语句中的条件为真:

    var x = new Boolean(false);
    if (x) {
      // 这里的代码会被执行
    }
    

    基本类型的布尔值不受此规则影响。例如下面的if语句的条件为假:

    var x = false;
    if (x) {
      // 这里的代码不会执行
    }
    

    不要用创建Boolean对象的方式将一个非布尔值转化成布尔值,直接将Boolean当做转换函数来使用即可,或者使用双重非(!!)运算符:

    var x = Boolean(expression);     // 推荐
    var x = !!(expression);          // 推荐
    var x = new Boolean(expression); // 不太好
    

    对于任何对象,即使是值为falseBoolean对象,当将其传给Boolean函数时,生成的Boolean对象的值都是true

    var myFalse = new Boolean(false);   // false
    var g = new Boolean(myFalse);       // true
    var myString = new String("Hello");
    var s = new Boolean(myString);      // true
    

    最后,不要在应该使用基本类型布尔值的地方使用Boolean对象。

    属性

    Boolean.length
    length属性,值为 1。
    Boolean.prototype
    Boolean构造函数的原型对象。

    方法

    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()方法。

    示例

    创建值为falseBoolean对象

    var bNoParam = new Boolean();
    var bZero = new Boolean(0);
    var bNull = new Boolean(null);
    var bEmptyString = new Boolean('');
    var bfalse = new Boolean(false);
    

    创建值为trueBoolean对象

    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({});