JS从零开始(4)

141 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

逻辑运算符

逻辑运算符说明案例
&& 与 andtrue&&false
|| 或 ortrue||false
非 not!true

逻辑短路

原理:当有多个表达式(值)时左边的表达式值可以确定结果时,就不再继续运算右边的表达式值。

逻辑与:如果表达式1为真则返回表达式2,如果表达式1为假则直接返回表达式1

逻辑或:如果表达式1为真则返回表达式1, 如果表达式1为假则返回表达式2

例如:

        // 逻辑与短路运算
        console.log(123 && 456);//456   如果表达式1为真则返回表达式2
        console.log(123 && 0);//0   如果表达式1为真则返回表达式2
        console.log(0 && 456);//0   如果表达式1为假则直接返回表达式1
        console.log(0 && 456 && 2357348);//0
        console.log(undefined && 456 && 2357348);//undefined  如果有空的或者否定的为假  其余是真则返回表达式1   '' null undefined NaN
        //逻辑或短路运算
        //如果表达式1为真则返回表达式1   如果表达式1为假则返回表达式2
        console.log(123 || 456);//123
        console.log(0 || 456);//456
        console.log(0 || 456 || 789);//456
        //逻辑中断很重要,会影响程序运行结果
        var num = 0;
        console.log(123 || num++); //表达式1为真返回表达式1,逻辑中断不执行num++,所以num还是=0
        console.log(num);//0

image.png

赋值运算符

赋值运算符说明案例
=直接赋值var usrName = '我是值'
+=、-= 加、减一个数后再赋值var age = 10;age += 5;//15
*=、/=、%=乘、除、取模(余)后再赋值var age = 2;age *= 5;//10

运算符优先级

image.png

ps:一元运算符里面的逻辑非优先级很高,逻辑与比逻辑或优先级高

流程控制

简单理解:用来控制代码按照这什么结构顺序来执行

主要三种结构:

  • 顺序结构

  • 分支结构(if 和switch):从上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(代码执行多选一的过程),从而得到不同的结果

    • if(条件表达式){执行语句}

      如果if里面的条件表达式为真则执行大括号里面的语句,如果为假则停止执行

  • 循环结构