分享

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

 Python进阶者 2023-02-10 发布于广东

回复“前端”即可获赠前端相关学习资料

野火烧不尽,春风吹又生。

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

一、Boolean 值

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

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

二、Boolean() 函数

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

Boolean(10 > 9)        // returns true
或者更容易的:
(10 > 9)              // also returns true10 > 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>

三、比较和条件

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>

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>

空字符串""是 false。

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

null的布尔值是 false。

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

false 的布尔值是false。

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

NaN 的布尔值是 false。

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

四、布尔值可以是对象

通常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>

不要创建布尔对象。它减慢执行速度。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对象将始终返回false。

五、总结

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

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

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

------------------- End -------------------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多