JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符

简介: 这篇文章详细介绍了JavaScript中的强制类型转换、运算符(包括算术、逻辑、条件、赋值和关系运算符)的使用方法和优先级规则。

文章目录

  • 1、强制类型转换Number
    • 1.1 代码
    • 1.2 测试结果
  • 2、进制表示
    • 2.1 代码
    • 2.2 测试结果
  • 3、强制类型转换为Boolea
    • 3.1 代码
    • 3.2 测试结果
  • 4、运算符
    • 4.1 代码
    • 4.2 测试结果
  • 5、自增自减
    • 5.1 代码
    • 5.2 测试结果
  • 6、与、或、非
    • 6.1 代码
    • 6.2 测试结果
  • 7 赋值运算符
    • 7.1 代码
  • 8、关系运算符
    • 8.1 代码
  • 9、条件运算符
    • 9.1 代码
    • 9.2 测试结果
  • 10 、优先级

1、强制类型转换Number

1.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>强制类型Number</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

         /*

          将其他的数据类型转换为number
            转换方式一:
                    使用Number函数
                        字符串转换为数字
                            1、如果纯数字的字符串,直接转换为数字
                            2、如果字符串中有非数字的内容,则转换为NaN
                            3、如果字符串是一个空串或者是一个全是空格的字符,则转换为0

                        Boolean转数字:
                            1、true 转换 1
                            2、false 转换 0

                        Null 转换为 数字 0

                        Undefined  转换为数字 NaN

            转换方式二:



        */

        var a = "123";
        a = Number(a)
        console.log("字符串转换为number:"+typeof a);

        var b = "123px"

            // parseInt()可以将一个字符串中的有效的整数内容取出来,然后转换为Number
           b = parseInt(b)
           console.log("parseInt:"+b);

        //    parseFloat()可以取出小数位
        var c = "123.21px"
            c = parseFloat(c);
            console.log("parseFloat:"+c);

        var d = true;
        d = d.toString();
        console.log(typeof d);

        // 如果对非String使用parseInt()或parseFloat(),它会先将其转换为String,然后在操作

        d = parseFloat(d);
        console.log(d);


    </script>
</head>

<body>

</body>

</html>

1.2 测试结果

在这里插入图片描述

2、进制表示

2.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>标题</title>
    <style type="text/css"> </style>

    <script type="text/javascript">
            /*

                在JS中需要表示16进制的数字,则需要以0X开头  

                 如果需要表示8进制的数字,则需要以0开头

                 表示二进制: 需要0b开头


            */

            var a ;
            //十六进制
            a = 0X123;
            a = 0X431;
            console.log("16进制:"+a);

            //八进制
            a = 021;
            a = 032;
            console.log("8进制:"+a);

            //二进制
            a = 0b10;
            console.log("2进制"+a);


    </script>
</head>

<body>

</body>

</html>

2.2 测试结果

在这里插入图片描述

3、强制类型转换为Boolea

3.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>转换boolean</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

    /*

                    将其它的数据类型转换为Boolean
                                  使用Boolean()函数

                                  数字--->布尔
                                            - 除了0和NaN,其余的都是true

                                  字符串--->布尔
                                              - 除了空串,其余的都是true
                                  null和undefined 都会转换为false

                                  对象也会转换为 true

    */

                              var a = null;
                              a = Boolean(a);
                              console.log(a);

                              a = "123";
                               a = Boolean(a);
                              console.log(a);  

                              a = 123;
                               a = Boolean(a);
                              console.log(a);

                              a = "";
                               a = Boolean(a);
                              console.log(a);
    </script>
</head>

<body>

</body>

</html>

3.2 测试结果

在这里插入图片描述

4、运算符

4.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>运算符</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

    /*

                     运算符也叫操作符
                            通过运算符可以对一个或者多个值进行运算,同时获得运算结果
                                  例如:typeof就是运算符,可以获得一个值的类型
                                                        它会将该值的类型以字符串的形式返回
                                                        number string  undefined Boolean object


                    算数运算符:
                             当对非number的值进行运算的时候,会首先将这些值转换为number
                             任何值和NaN做运算都得NaN

                            +:对两个值进行加法运算,并将结果返回
                                        - 如果对两个字符串进行加操作,进行拼串操作
                                        - 任何值和字符串进行加法操作,都会先转换为字符串,然后进行拼串操作

                            -:可以对两个值进行减法运算,将非number转换为number

                            *:可以对两个值进行乘法运算

                            /:可以对两个值进行除法运算

                            %:取模运算,取余数



    */

       var a = 123;
       a = typeof a;
       console.log(a);

       var result ;
       result = true + false;
       console.log(result);

       result = "你好"+"大水果!!!";
       console.log(result);


       result = "hello--"+
                  "my--"+
                  "son";
        console.log(result);

        //任何值和字符串相加都会转换为字符串


        result = true + "js";
       console.log(result);

          /*
             我们可以利用这一特点,来将一个任意的数据类型转换为String
              我们只需要为任意的数据类型+一个 "" 就可以将其转换为String
              隐式的类型转换,由浏览器自动完成,实际上也是调用了String()
          */

       var a = 123 +"";
       console.log(typeof a);

       result = 1+2+"4";//34   自左向右执行执行到3+"4"的时候,3转换为字符串,然后和4进行拼串操作
       console.log(result);

       result = "2"+3+4;//234    3转换为字符串和2进行拼串,然后23字符串和数字4进行相加,数字4转换为字符串和23进行拼串
        console.log(result);

        result = 100 - "123jdjd";
        console.log(result);//NaN
    </script>
</head>

<body>

</body>

</html>

4.2 测试结果

在这里插入图片描述

5、自增自减

5.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>自增自减</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

    /*
                  自增:
                      让变量在在自身的基础上加1
                      对于一个变量自增以后,原变量的值会立即自增1
                      自增分为两种:后++(a++)   前++(++a)

                      a++的值等于原变量的值
                      ++a的值等于原变量自增后的值

                 自减:同自增理解


    */

                   var a = 3;
                   console.log(a++);//3
                   console.log(++a);//5

                   var b =5;

                   console.log(b--);//5
                   console.log(--b);//3




    </script>
</head>

<body>

</body>

</html>

5.2 测试结果

在这里插入图片描述

6、与、或、非

6.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>逻辑运算符</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

    /*

                 JS中有三种运算符:

                 !:非
                        所谓非运算符就是对一个布尔值进行取反操作,
                        true变为false ,false变为true

                        如果对非布尔值进行运算,首先转换为布尔值,然后取反

                 && : 和两边条件都成立
                     第一个值为true,会检查第二个元素
                     第一个值为false,不会检查第二个元素

                 ||: 两边条件满足其一
                      第一个值为true,不会检查第二个元素
                      第一个值为false,会检查第二个元素


    */

                                var a = 123;
                                a = !a;
                                console.log(a);

                                true && console.log("检查了右边");
                                false && console.log("检查了右边");




    </script>
</head>

<body>

</body>

</html>

6.2 测试结果

在这里插入图片描述

7 赋值运算符

7.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>赋值运算符</title>
    <style type="text/css"> </style>

    <script type="text/javascript">
                  /*
                   可以将负号右侧的值赋值给左侧

                   var a = 3;
                   a += a;  等价于  a = a + 3;

                   a -= a;  等级于  a = a-3;

                   a *= a;  等价于  a = a * a;

                   a /= a;  等价于  a = a / a;

                   a %= a;  等价于  a = a % a;

                   */


    </script>
</head>

<body>

</body>

</html>

8、关系运算符

8.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>关系运算符</title>
    <style type="text/css"> </style>

    <script type="text/javascript">

    /*

                     通过关系运算符可以比较两个值之间的大小关系,  任何值和NaN做比较都是false
                          关系成立返回true,否则返回false

                        >: 
                          判断左侧的内容是否大于右侧的内容,成立返回true
                        >=
                        <
                        <=
                        ==
                        === 不会对比较的内容进行转换,比较类型和内容是否相等

                        非数值的情况
                          - 对于非数值进行比较,会将其转换为数字然后在比较
                          - 如果符号两侧的值都是字符串,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode

    */

                         console.log("dkdk" > "eerr")


    </script>
</head>

<body>

</body>

</html>

9、条件运算符

9.1 代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>条件运算符</title>
    <style type="text/css"> </style>

    <script type="text/javascript">
    /*

                   条件运算符也叫三目运算符
                                    语法:
                                    条件表达式? 语句1:语句2;

                                    执行的流程:先判断条件,符合执行语句1,否则执行语句2


    */

             var a = 5;
             var b = 8;
             a > b ? console.log("a大于b"):console.log("a小于b");

    </script>
</head>

<body>

</body>

</html>

9.2 测试结果

在这里插入图片描述

10 、优先级

  • 一般使用括号修改优先级的顺序
    在这里插入图片描述
相关文章
|
10月前
|
人工智能 自然语言处理 JavaScript
通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
通义灵码基于自然语言需求,快速生成完整Vue组件。例如,用Vue 2和JavaScript实现贪吃蛇游戏:包含键盘控制、得分系统、游戏结束判定与Canvas动态渲染。AI生成的代码符合规范,支持响应式数据与事件监听,还能进阶优化(如增加启停按钮、速度随分数提升)。传统需1小时的工作量,使用通义灵码仅10分钟完成,大幅提升开发效率。操作简单:安装插件、输入需求、运行项目即可实现功能。
507 4
 通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
|
6月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
8月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
226 1
|
10月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
622 24
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
283 32
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
384 0
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用