运算符表达式及相关控制语句

运算符

算数运算符:

+   -   *   /   %   ++   --

    1、除了加法的所有运算全部都会先转成number类型再进行运算,如果转换失败会出现NaN

    2、NaN与一个数值相加得到的还是NaN

    3、在加法运算中如果有一个值是字符串那么就会进行字符串拼接

    4、自增(++)和自减(--)的前置和后置:前置会先执行自增(++)或自减(--),再执行其他代码,后置会先执行其他代码,再执行自增(++)或自减(--)

    5、自增(++)和自减(--)不能放在()之前

    6、运算对应的顺序是先执行()号里面的内容,再执行++或者--操作和对应的*、/、%,再执行+、-操作

逻辑运算符:

&&(与)   ||(或)    !(非)

    1、&&: 两个都为true 取最后一个,有一个为false就取第一个false

    2、||: 有一个true就取第一个true,都为false就取最后一个false

    3、!: 取反,取相反的结果

比较运算符:

<   >   <=   >=   ==   ===   !=    !==

    1、当出现的是> <号时会自动进行相关的转换(number类型)

    2、对应比较的都是字符串那么会比较对应的ascii码(A 65, a 97)

    3、== 比较值 数值类型123和字符串123是相等的(NaN!=NaN)(undefined == null)

    4、=== 基于==之上 除了比较值还要比较类型 123!='123' (undefined !== null)

    5、当出现对应的! 对应的将原本的结果取反就可以了

赋值运算符:

=    +=    -=    *=     /=     %=

注意:赋值运算符在运算中是最后执行的操作

位移运算符:

<<       >>

位移运算符:进位补零,退位加零

表达式的概念:

    1、表达式是由对应的值(变量)和运算符构成的式子

    2、由对应的算法运算符组成的式子是算法表达式 (返回对应的结果)

    3、由对应的逻辑运算符组成的式子是逻辑表达式 (返回对应的值)

    4、由对应的比较运算符组成的式子是条件表达式 (返回Boolean类型的值)

三目运算符:

条件表达式?true的结果:false的结果

示例:

执行顺序:先算括号,再算*、/、%,再逻辑运算,再三目运算,最后赋值

控制语句:

    1、控制语句是对应程序的一个控制,分为条件控制语句和循环控制语句

    2、条件控件语句是根据对应的条件来执行对应的代码

    3、循环控制语句是根据对应的条件来执行多次重复的代码

条件控制语句:

常见的控制语句有:

    1、if  else(根据对应的boolean条件值来进行判断,如果传入的条件返回的不是boolean类型会转换为对应的boolean类型)

    2、switch  case(根据对应的值来进行比对,里面采用的是===(恒等)会自动进行比对)

单分支结构(if else):

if(条件表达式){

    对应满足条件执行的代码

}else{

    不满足条件执行的代码

}

多分支结构(else  if):

if(条件1){

满足条件执行的代码

}else if(条件二){

满足条件执行的代码

}...

else{

所有条件都不满足执行的代码

}

if  else的嵌套:if  else是允许多层嵌套的,一般我们的嵌套不会超过两层(超过两层嵌套并不建议写)

if(条件1){

    if(子条件1){

        满足子条件1执行的代码

    }else if(子条件2){

        满足子条件2执行的代码

    }else{

        不满足子条件执行的代码

    }

}else{

    不满足条件1执行的代码

}

if else的一些简化操作:

    1、当你的if块和或者else块只有一行代码的时候是可以省略{}的(一般不建议省略)

    2、每句代码的结束是可以有分号,可以没有分号的,但是一般建议加上;(后续我们需要减少对应的编写的文件的大小会把所有的js放在一行)

if(1>2)

    console.log('aaa')

else if(2>3)

    console.log('bbb')

else

    console.log('ccc')

switch case控制语句

    1、根据输入的值判断对应的执行的操作

    2、switch里面采用的是=== 类型必须相等,switch支持多个值,也支持嵌套

    3、在switch 如果没有break语句的时候,会从满足条件那句开始直到最后

    4、break 退出,当前这个switch不执行了

switch(值表达式){

    case 值1:

        执行的代码

        break;

    case 值2:

        执行的代码

        break;

    defulat:

        上面都不满足执行的代码

}

switch case嵌套示例:

//支持嵌套

switch(1){

    case 1:

        switch(2){

            case 2:

                console.log('我是2');

                break;

            default:

                console.log('hello');

            }

            break;

        default:

            console.log('default');

}

if else 和switch case的区别:

    1、if else 常用于区间判断,switch case用于值判断(枚举判断)。

    2、if else的效率低于switch case(用空间换时间),如果当前只有某个值的判断建议使用switch case。

总结:

    1、if else 是用于区间判断 ,switch case是用于值判断。

    2、switch case里面使用的判断是恒等判断 (支持所有类型的值)。

    3、if else和switch case都支持嵌套 (一般建议不要嵌套两层以上)。

    4、if else可以单独用。

    5、if else的多分枝采用 else if来实现,switch case里面的多分支采用多个case连用。

    6、if (else if 、else)后面的代码如果只有一行那么可以省略{},但是一般不建议省略。

    7、if else里面的条件表达式返回的是对应的boolean类型的值,如果当前的式子不是条件表达式会自动转换为boolean类型。

    8、if else的效率低于switch case(用空间换时间),如果当前只有某个值的判断建议使用switch(枚举 判断一般使用switch)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容