• JavaScrip笔记(1)


    JavaScrip笔记(1)

    1、 短路运算(逻辑中断)

     <script>
            // 1、用我们的布尔值参与的逻辑运算 true&&false == false
            // 2、123 && 456 是 值 或者是 表达式 参与逻辑运算?
            // 3、逻辑与短路运算
            //  	如果表达式1 结果为真 则返回表达式2
            //		如果表达式1 结果为假 那么返回表达式1
            console.log(123 && 456); // 456
            console.log(0 && 456); // 0
            console.log(0 && 1 + 2 && 456 * 456789); // 0
            console.log('' && 1 + 2 && 456 * 456789); // ''
            // 如果有空或者否定的为假 其余是真的 0 '' null undefined NaN
            // 4、逻辑或短路运算
            //      如果表达式1 结果为真 则返回表达式1
            //      如果表达式1 结果为假 则返回表达式2
            console.log(123 || 456); // 123
            console.log(123 || 456 || 456 + 123); // 123
            console.log(0 || 456 || 456 + 123); // 456
            var num = 0;
            console.log(123 || num++);
            console.log(num);
        </script>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    2、 运算符优先级

    在这里插入图片描述

    3、全局变量

    全局变量: 在全局作用域下的变量 在全局都能使用
    注意:如果在函数内部 没有声明直接赋值的变量也属于全局变量

    • 全局变量只有在浏览器关闭的时候才会销毁 比较占内存资源
    • 局部变量当我们程序执行完毕的时候就会销毁,比较节约内存资源

    4、预解析

    1、js引擎运行js 分为两步:预解析  代码执行
    (1)、预解析 js引擎会把js 里面所有的var 还有function 提升到当前作用域的最前面
    (2)、代码执行 按照代码书写的顺序从上往下执行
    2、预解析分为  变量预解析(变量提升)和函数预解析(函数提升)
    (1)、变量提升 就是把所有的变量声明提升到当前作用域最前面 不提升赋值操作
    (2)、函数提升 就是把所有的函数声明提升到当前作用域最前面 不调用函数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    SpringBoot:SpringApplication.run的源码解析
    Qt-QImage-convertTo-copy-convertToFormat-格式转换
    最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
    C++之enum class简单使用
    深入解析Nacos:服务发现、配置管理与更多特性解析
    数据仓库概念完整使用 (第一章)
    RPA的数据库自动化操作
    基于Simulink的用于电力系统动态分析
    java实现贪心算法代码示例
    Java面试题,面试题,CAS,CAS原理
  • 原文地址:https://blog.csdn.net/m0_47721614/article/details/127803963