各类运算符及分支语句

运算符

数学运算符

有一套规律:
1. 任何类型的数据和字符串类型的数据做相加(+)操作时,其他数据类型会自动的转换为字符串类型。此时的相加(+)不再是数学意义上的加法,而是表示“拼接”的意思。

2. 任何数据除了和字符串做相加运算外,字符串转成数字。
与NaN做算术运算的结果始终都是NaN。包括NaN本身和NaN做运算的结果也是NaN。(字符串是数值会自动的转换为数字,否则会转换为NaN)

3. 任何其他数据除了字符串以外,与数字类型做算术运算时,其他数据会自动的转换为数字。(true会自动的转换为1 false会自动的转换为0 null会自动的转换为0 undefined会自动的转为NaN)

赋值运算符

复合赋值:
+= -= /= %= *=

    var num = 10;
        // num = num + 5;
        num += 5;  //其实上述式子的简写
        console.log(num);

一元运算符

            a++  值:++后置,先对a取值,作为a++的值,然后对a进行+1操作
++a  值:++前置,先对a加1,再取a的值,作为++a的值。

功能:对a进行+1操作。

关系运算符

关系运算符(这些叫做关系运算符)

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

和其他运算符一样,当关系运算符操作非数值时要遵循一下规则:
1. 两个操作数都是数值,则数值比较;

2. 两个操作数都是字符串,则比较两个字符串对应的字符编码值;

<1>如果两个字符串中都是单个字符
<2>如果是多个字符,必须逐位比较,一旦比较出大小就结束比较。

3. 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较;(自动数据类型)

            在相等和不等的比较上,如果操作数是非数值,则遵循一下规则:
                1. 一个操作数是布尔值,则比较之前将其转换为数值,false 转成 0,true 转成 1; 
                2. 一个操作数是字符串,则比较之前将其转成为数值再比较 
                3. 一个操作数是 NaN,则==返回 false,!=返回 true;并且 NaN 和自身不等;

逻辑运算符

&&
语法:表达式1 && 表达式2
【注】这两个表达式都为true,才为true。
短路操作:当第一个表达式为false的时候,第二个表达式就不执行了。

|| 语法:表达式1 || 表达式2
【注】这两个表达式都为false,才为false。
短路操作:当第一个表达式为true的时候,第二个表达式就不执行了。

            ! 语法:!表达式
            【注】取反
            【注】非空即真,非0即真。
            1.操作数是一个空字符串,返回 true;
            2.操作数是一个非空字符串,返回 false;
            3.操作数是数值 0,返回 true;
            4.操作数是任意非 0 数值(包括 Infinity),false;
            5.操作数是 NaN,返回 true;
            6.操作数是 undefined,返回 true;

流程控制语句

流程控制语句:

1、顺序结构 规律:都是自上而下顺序执行的。

2、分支结构/选择结构/条件结构

3、循环结构

分支语句

分支语句

语法结构:单分支语句
                    if(判断条件){
                        判断语句;
                    }
            语法结构:双分支语句
                if(判断条件){
                    判断语句;
                }else{
                    判断语句;
                }

不同区间练习
通过不同的区间判断,根据不同的计算公式得出结果。

            1、必须使用多分支语句
                语法:
                    if(判断条件1){
                        执行语句1;
                    }else if(判断条件2){
                        执行语句2;
                    }else if(判断条件3){
                        执行语句3;
                    }
                    ...
                    else{
                        如果上述的判断都不成立,那么直接执行这里。
                    }
        */
        var x = 10;
        var y = 0;

        if(x < 1){
            y = x;
        }else if(x >= 1 && x < 10){
            y = 2 * x + 1;
        }else{
            y = 5 * x - 17;
        }

        console.log("x为:" + x + ", y的值为:" + y);

switch语句(多分支语句)

注意:
1、不能省略default(容错)
2、每一条case后面都必须加break。(break作用是用于终止当前的switch语句)


【注】可以通过省略break简化代码的。

【注】if语句和switch语句如何选择:

switch更加倾向于去匹配确定的值。

        var grade = "A";
        switch(grade){
            case "A":
                console.log("80~100");
                break;
            case "B":
                console.log("70~79");
                break;
            case "C":
                console.log("60~69");
                break;
            case "D":
                console.log("<60");
                break;
            default: 
                console.log("当上述所有的条件都不成立,执行default");
                break;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值