美文网首页
JavaScript基础—流程控制与循环

JavaScript基础—流程控制与循环

作者: OmewSPG | 来源:发表于2021-10-19 08:46 被阅读0次

    三元表达式/分支语句

    三元表达式是一种根据条件控制流程的简写方法:
    条件表达式 ? 表达式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 );
    

    相关文章

      网友评论

          本文标题:JavaScript基础—流程控制与循环

          本文链接:https://www.haomeiwen.com/subject/skrnoltx.html