运算(短路运算)与流程控制(循环)

173 阅读2分钟

首先要注意的是程序里面不同的等号数量代表着不同的意思

=    代表赋值,就是把右边的赋给左边的

==  代表相等(不要求数据类型也一样)例如 consloe.log(18 == '18')//true 里面存在隐式转换

=== 代表全等,即数值及其数据类型也一致(存放的地址也一致)

逻辑运算符(优先级&&>||)

  • 短路运算
  • 原理:当有多个表达式(值)时,左边的值可以确定结果时,就不再继续运算右边的值
  • &&  逻辑与短路运算:如果表达式1为真,则返回表达式2,若表达式1为假,则返回表达式1    例如 console.log(123&&456) //456     console.log(0&&123)//0
  • ||   逻辑或短路运算:如果表达式1为真,则返回表达式1,若表达式1为假,则返回表达式2

需要注意的是,被短路的表达式不参与运算,例如:

  var num = 0;

   console.log(123 || num++);

    console.log(num);

按理来说,num++应该会变换数值值,但是他被短路了,就不参加运算了,所以结果还是0.

 


流程控制

流程控制可以分为顺序结构,分支结构,循环结构。

我们重点看流程结构


一、分支结构是什么?

上图:

 

 分支结构主要进行判断主要成员有(if else if和switch case以及三元运算符)(都是实现多选1)

语法结构  if(表达式){

//

}else if(表达式){

}

表达式成立之后会执行大括号里面的代码

语法结构 switch(){

 case value1:
执行语句;

break;

case value2:
执行语句;

break;

defult:都不符合条件执行的语句

}

三目运算符       条件表达式?表达式1:表达式2;

条件表达式为真,返回表达式1,为假返回表达式2;

switch case语句通常处理确定的情况

if else if 通常处理判断,更加灵活

二、for循环

1.格式

for(初始化变量;条件表达式;操作表达式){

//循环体}

例如:for(var i=0;i<=100;i++){循环体}

小例子:1,计算1到100的总和

var sum = 0;

        for (i = 0; i <= 100; i++) {

            sum += i;

        }

        console.log(sum);

2 计算1到100内所有奇数的和

    var sum = 0;

        for (i = 0; i <= 100; i++) {

            if (i % 2 != 0) {

                sum += i;

            }

        }

        console.log(sum);

实现判断与循环的综合使用

3 计算班级平局分(不同班级有不同学生个数,不同学生有不同分数)

/ var num = prompt('请输入学生个数:');

        // var sum = 0;

        // var average = 0;

        // for (var i = 1; i <= num; i++) {

        //     var score = prompt('请输入第' + i + '个数:');

        //     sum = sum + parseFloat(score);        要注意从prompt得到的值是字符串型,所以要转换

        // };

        // average = sum / num;

        // alert(average);