JavaScript学习笔记(二)流程控制

  • 流程控制:顺序结构、分支结构、循环结构
  • 顺序流程控制
  • 分支流程控制:if-else、三元表达式、switch语句
  • 循环流程控制:for 、while、do-while
  • break,continue

1. 流程控制

代码按照不同的顺序控制,叫流程控制

2. 顺序流程控制

程序按照代码先后顺序依次进行

3. 分支流程控制

根据不同条件,执行不同的路径代码(代码多选一)

<script>
        var age = prompt('请输入你的年龄:')
        if (age >= 18){
            alert('你已成年')
        }
        else if(age >= 14){
            alert('14岁以上未成年')
        }
        else{
            alert('儿童')
        }
</script>

3.1 三元表达式

由三元运算符组成的式子成为三元表达式

条件表达式1?表达式1:表达式2

var num = prompt('你的年龄')
var result = num > 18 ? '成年人' : '未成年'
alert(result)

3.2 分支流程控制switch语句

switch语句也是多分支语句,也可以实现多选一

        switch(表达式1){
            case  value1:
                执行语句1;
                break
            case value2
                执行语句2;
                break
            default:
                执行最后的语句
        }
        var score = prompt('输入您的成绩,查看等级ABCD')
        switch(score){
            case score >= 90:
                alert('等级为A')
            case score >= 70:
                alert('等级为B')
            case score >= 60:
                alert('等级为C')
            default:
                alert('等级为D')
        }

4. 循环

重复执行某些代码

断点调试,观察程序的运行过程:F12->sources->断点->刷新->F11下一步

watch监视,可以看变量变化

4.1 for循环

例子1:累加和

    <script>
        //1~100累加
        var sum = 0
        for(var i = 1 ; i <= 100 ; i++){
            sum += i
        }
        console.log('1-100累加和为' + sum);
        //1~100偶数和奇数和
        var even = 0 , odd = 0
        for(var j = 1 ; j <= 100; j++){
            if(j % 2 == 0)
                even += j
            else if(j % 2 != 0)
                odd += j
        }
        console.log('1-100偶数累加和为' + even + '\n' + '1-100奇数累加和为' + odd);
    </script>

 例子二,根据提示框输入值进行计算

        console.log('1-100偶数累加和为' + even + '\n' + '1-100奇数累加和为' + odd);

        var totalStu = prompt('请输入班级总人数:'),stuTotalScore = 0 , stuAvgScore = 0;
        for(i = 1 ; i <= totalStu ; i++){
            temp = prompt('第'+i+'个学生成绩')
            stuTotalScore += Number(temp);
        }
        stuAvgScore = stuTotalScore/totalStu
        alert('学生总成绩'+stuTotalScore+'平均成绩'+ stuAvgScore)

 例子三,输出⭐⭐⭐⭐:追加字符串方式输出同样的字符

        //追加字符串
        var star = ''
        for(i = 0 ; i <= 5 ; i++){
            star += '⭐'
        }
        console.log(star)
        //直接重复字符会折叠
        for(i = 0 ; i <= 5 ; i++){
            console.log('⭐')
        }

输出结果为:

 4.2 for循环嵌套

实例:输出倒三角星星

        //倒三角星星
        str = ''
        for(i=1;i<=5;i++){
            for(j=5;j>=i;j--){
                str += '⭐'
            }
            str += '\n'
        }
        console.log('\n'+str)

输出:

 4.3 while循环

优势在于,可以做更复杂的条件判断

4.4 do while循环

执行思路:先做do里面循环体,再进行一次循环判断,满足条件进行,不满足退出

do-while循环体至少会执行一次

5. continue、break

continue跳出本次循环,继续下一次循环

break退出整个循环

猜你喜欢

转载自blog.csdn.net/weixin_44400887/article/details/123881656