JavaScript基础—流程控制与循环

2021-10-19  本文已影响0人  OmewSPG

三元表达式/分支语句

三元表达式是一种根据条件控制流程的简写方法:
条件表达式 ? 表达式1 : 表达式2
若条件为真,则执行表达式1,否则执行表达式2,比如:

var num = 10;
var result = num > 5 ? 'yes' : 'no';
console.log(result);      // yes

自动补零程序

var time = prompt('enter a number between 0 ~ 59');
var res = time < 10 ? '0' + time : time;
console.log(res);

switch语句

        var age = 3;
        switch (age){
            case 1:
                console.log('this is 1...');
                break;
            case 2:
                console.log('this is 2...');
                break;
            case 3:
                console.log('this is 3...');
                break;
            case 4:
                console.log('this is 4...');
                break;
            default:
                console.log('I can find the number...');
        }        //    this is 3...

if else 与 switch 的区别

  1. 一般情况下,它们两个语句可以相互替换
  2. switch...case 语句通常处理case为确定值得情况,而if...else语句则更加灵活,常用于范围判断(大于、等于某个范围)
  3. switch语句进行条件判断后直接执行到程序的条件语句,效率更高;而if...else语句有几种条件,就得判断多少次,效率较低
  4. 当分支比较少时,if...else的执行效率比switch高
  5. 当分支比较多时,switch语句的执行效率比较高,而且结构更加清晰

for循环

求1~100的和

        var sum = 0;
        for(var i = 1; i <= 100; i++){
            sum += i;
        }
        console.log(sum);    //   5050

求1~100所有偶数的和与奇数的和

        var singleNumSum = 0;
        var doubleNumSum = 0;
        for(var j = 1; j <= 100; j++){
            if(j % 2 == 0){
                doubleNumSum += j;
            }else{
                singleNumSum += j;
            }
        }
        console.log(singleNumSum);        //  2500
        console.log(doubleNumSum);       //   2550

求1~100所有能被3整除的数字和

        var triNumSum = 0;
        for(var k = 1; k <= 100; k++){
            if(k % 3 == 0){
                triNumSum += k;
            }
        }
        console.log(triNumSum);      //     1683

for循环嵌套

循环嵌套实例
一行打印五个标记,打印五行

        var str = '';
        for(i = 1; i <= 5; i++){
            for(j = 1; j <= 5; j++){
                str += '☆';
            }
            str += '\n';
        }
        console.log(str);
image.png

打印出倒三角形状

        var str2 = '';
        for(i = 5; i >= 1; i--){
            for(j = 1; j <= i; j++){
                str2 += '☆';
            }
            str2 += '\n';
        }
        console.log(str2);
image.png

打印九九乘法表

        var text = '';
        for(i = 1; i <= 9; i++){
            for(j = 1; j <= i; j++){
             /*    text += j + ' x ' + i + ' = ' + i * j + '   '; */
                text += `${j} x ${i} = ${i * j}  `       //   字符串插值法
            }
            text += '\n';
        }
        console.log(text);
image.png

for , while , do...while 的区别

循环小结.png

continue与break

continue关键字,用于跳出本次循环,直接进行下一次循环:

        for(var i = 1; i <= 5; i++){
            if(i == 3){
                continue;    // 跳出本次循环,执行下一次循环
            }
            console.log(i);      //  1   2   4   5
        }    

求1~100之间,除了能被7整除之外的所有整数和

        var sum = 0;
        for(var i = 1; i <= 100; i++){
            if(i % 7 == 0){
                continue;
            }
            sum += i;
        }
        console.log(sum);       //    4315

break关键字,立马退出整个循环

        for(var i = 1; i <= 5; i++){
            if(i == 3){
                break;   // 立马退出整个循环
            }
            console.log(i);     //   1    2
        }

断点调试

断点调试.png

实例

        // 简易ATM
        var money = 100;
        do {
            var num = prompt('请输入你所需要进行的操作:' +'\n' + '1.存钱' + '\n' + '2.取钱' + '\n' + '3.显示余额'+ '\n' + '4.退出');
            var choice = parseInt(num);
            switch(choice){
                case 1:
                    var save = prompt('请输入存入金额:');
                    money += parseInt(save);
                    alert('当前余额为:' + money);
                    break;
                case 2:
                    var take = prompt('请输入取出金额:');
                    money -= parseInt(take);
                    alert('当前余额为:' + money);
                    break;
                case 3:
                    alert('当前余额为:' + money);
                    break;
                case 4:
                    alert('正在退出系统...')
                    break;
            }
        } while(choice != 4 );
上一篇 下一篇

猜你喜欢

热点阅读