一篇文章带你了解JavaScript布尔值

一个JavaScript Boolean类型代表一个值:true或false。

一篇文章带你了解JavaScript布尔值

一、Boolean 值

很多时候,在编程中,需要一个只能有两个值的数据类型,像:YES / NO 或者 ON / OFF  或者 TRUE / FALSE。

为此,JavaScript有布尔数据类型。它只能取值为真或假。

二、Boolean() 函数

能使用 Boolean() 函数来查找表达式(或变量)是否为真:

Boolean(10 > 9)        // returns true
或者更容易的:
(10 > 9)              // also returns true
10 > 9                // also returns true

完整代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>项目</title>
    </head>
    <body style="background-color: aqua;">


        <p>显示布尔值:(10 >9):</p>


        <button onclick="myFunction()">试试</button>


        <p id="demo"></p>


        <script>
            function myFunction() {
                document.getElementById("demo").innerHTML = Boolean(10 > 9);
            }
</script>


    </body>
</html>

一篇文章带你了解JavaScript布尔值

三、比较和条件

JS比较全面的比较运算符 ,JS比较全面的条件语句。

操作符

描述

实例

==

等于

if (day == “Monday”)

>

大于

if (salary > 9000)

<

小于

if (age < 18)

一个表达式的布尔值为JavaScript比较条件的基础。

1. 有“真实”价值的一切都是真的。

<script>
    var b1 = Boolean(100);
    var b2 = Boolean(3.14);
    var b3 = Boolean(-15);
    var b4 = Boolean("Hello");
    var b5 = Boolean('false');
    var b6 = Boolean(1 + 7 + 3.14);


    document.getElementById("demo").innerHTML =
    "100 is " + b1 + "<br>" +
    "3.14 is " + b2 + "<br>" +
    "-15 is " + b3 + "<br>" +
    "任意(非空)字符串是 " + b4 + "<br>" +
    "'false' 字符串是 " + b5 + "<br>" +
    "任意表达式 (非零)是 " + b6;
</script>

一篇文章带你了解JavaScript布尔值

2. 没有“真实”的一切都是假的。

布尔值 0 是 false。

var x = 0;
Boolean(x);       // returns false

完整代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>项目</title>
    </head>
    <body style="background-color: aqua;">


        <p>显示0的布尔值:</p>


        <button onclick="myFunction()">试试</button>


        <p id="demo"></p>
     /*下面案例,替换相对于的js,实现不同的效果展示*/
        <script>
            function myFunction() {
                var x = 0;
                document.getElementById("demo").innerHTML = Boolean(x);
            }
</script>


    </body>
</html>

布尔值 -0 是 false。

<script>
            function myFunction() {
                var x = -0;
                document.getElementById("demo").innerHTML = Boolean(x); // returns false
            }
</script>

一篇文章带你了解JavaScript布尔值

空字符串””是 false。

<script>
    function myFunction() {
        var x;
        document.getElementById("demo").innerHTML = Boolean(x);// returns false
    }
</script>

一篇文章带你了解JavaScript布尔值

null的布尔值是 false。

<script>
    function myFunction() {
       var x = null;
        document.getElementById("demo").innerHTML = Boolean(x);// returns false
    }
</script>

一篇文章带你了解JavaScript布尔值

false 的布尔值是false。

<script>
    function myFunction() {
        var x = false;
        document.getElementById("demo").innerHTML = Boolean(x);// returns false
    }
</script>

一篇文章带你了解JavaScript布尔值

NaN 的布尔值是 false。

<script>
    function myFunction() {
        var x = 10 / "H";
        document.getElementById("demo").innerHTML = Boolean(x);// returns false
    }
</script>

一篇文章带你了解JavaScript布尔值

四、布尔值可以是对象

通常JavaScript使用布尔的字面量创建: var x = false。

布尔值,也可以使用new关键字创建新对象: var y = new Boolean(false)。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>项目</title>
  </head>
  <body style="background-color: aqua;">


    <p>不要创建一个布尔对象.</p>
    <p>布尔值和对象不能被安全的比较.</p>


    <p id="demo"></p>


    <script>
      var x = false; // x is a boolean
      var y = new Boolean(false); // y is an object
      document.getElementById("demo").innerHTML =
        typeof x + "<br>" + typeof y;
</script>


  </body>
</html>

一篇文章带你了解JavaScript布尔值

不要创建布尔对象。它减慢执行速度。new关键字使代码复杂化。这会产生一些意想不到的结果。

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

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


// (x == y) is true because x and y have equal values

当使用===运算符,相等的布尔值不相等,因为===运算符将比较类型和值。

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


// (x === y) is false because x and y have different types

甚至更糟。对象不能比较。

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


// (x == y) is false because objects cannot be compared

运行结果:

一篇文章带你了解JavaScript布尔值

比较两个JavaScript对象将始终返回false。

五、总结

本文基于JavaScript ,介绍了布尔函数在实际应用中需要注意的点,对Boolean运算符的比较和条件 进行了分点的讲解。布尔值也可以是对象。

希望读者能够根据本文的案例,自己去尝试实际操作一下,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

文章希望能够帮助你更好的理解 和学习。

文章版权声明

 1 原创文章作者:liubo,如若转载,请注明出处: https://www.52hwl.com/30601.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月14日 上午12:00
下一篇 2023年7月15日