• ECMAScript1.2 表达式|语句|break|continue


    表达式

    一个表达式可以产生一个值,有可能是运算,函数调用,

    有可能是字面量,表达式可以放在任何需要值的地方。

    语句

    语句可以理解为一个行为,循环语句和判断语句就是典型的语句。

    一个程序有很多个语句组成,一般情况下是分割成一个一个语句。

    流程控制  由三种基本结构组成

    顺序结构

    从上到下执行的代码就是顺序结构,

    程序默认就是由上到下顺序执行的。

    分支结构

    根据不同情况,执行对应代码。

    例如:老师留了作业,做完就可以回家,没有做完就继续做。

    循环结构

    重复做一件事。

    例如:在操场跑10圈,一圈一圈重复的来做,直到跑完10圈为止,

    有一个条件,每跑完一圈都要想一下自己跑够10圈了没有。

    分支结构

    if 语句    if...else if...else

    // 
    if (/*条件表达式*/) {
        // 执行语句
    }
    
    
    //
    if (/*条件表达式*/) {
         // 执行语句
    } else {
        // 否则执行语句
    }
    
    //
    if (/*条件表达式1*/) {
        // 成立执行语句
    } else if (/*条件表达式2*/) {
        // 成立执行语句
    } else if (/*条件表达式3*/) {
        // 成立执行语句
    } else {
        // 否则执行语句
    }
    View Code

     小案例1

    // 求两个数的最大数
    
    var n1 = 66;
    var n2 = 888;
    // 条件表达式
    if (n1 > n2) {
        // 执行语句
        console.log('n1:' + n1);
    } else {
       // 否执行语句  
        console.log('n2:' + n2);
    }
    View Code

    小案例2

    // 判断一个数是偶数还是奇数
    
    var n1 = 6;
    // 取余%2等于0,就是偶数
    if (n1 % 2 === 0) {
        console.log('是偶数');
    } else {
       // 否则执行语句  
        console.log('是奇数');
    }
    View Code

    案例3

    // 定义一个分数
    var score = 88;
    // 条件1: 大于等90与小于等于100
    if (score >= 90 && score <= 100) {
        console.log('A');
    // 条件2:大于等于80与小于90
    } else if (score >= 80 && score < 90) {
        console.log('B');
    // 条件3:大于等于70与小于80
    } else if (score >= 70 && score < 80) {
        console.log('C');
    // 条件4:大于等于60与小于70
    } else if (score >= 60 && score < 70) {
        console.log('D');
    // 否则执行语句
    } else {
        console.log('E');
    }
    
    
    ////////////以上的简写
    
    var score = 88;
    if (score >= 90) {
        console.log('A');
    } else if (score >= 80) {
        console.log('B');
    } else if (score >= 70) {
        console.log('C');
    } else if (score >= 60) {
        console.log('D');
    } else {
        console.log('E');
    }
    View Code

    三元运算  表达式1?表达式2:表达式3

    语法结构:  表达式1 ? 表达式2 : 表达式3

    解释:当表达式1条件,成立执行表达式2,不成立执行表达式3

    是对if...else语句的一种简化写法。

    两个小案例认识三元运算:

    // 判断是否满18岁
    var age = 18;
    console.log(age >= 18 ? '已成年' : '未成年');        // 已成年
    
    // 两个数中找最大值
    var n1 = 66;
    var n2 = 88;
    var max = n1 > n2 ? n1 : n2;
    console.log(max);
    View Code

    switch语句  switch{case常量1: 语句 break;default: 语句 break;}

    注意点1:  每个case块的break可以省略,代码会继续执行下一个case。

    注意点2:  switch语句在比较值时使用的是全等操作符(===),

    因此不会发生类型转换(例如:字符串'10'不等于数值10)。

    语法结构:

    // 语法结构
    
    switch (expression) {
        case 常量1:
        语句;
        break;
        case 常量2:
        语句;
        break;
        case 常量3:
        语句;
        break;
        ........
        case 常量n:
        语句;
        break;
        default:
        语句;
        break;
    }
    View Code

    小案例认识switch:

    // 输出星期几
    
    var day = 6;
    switch (day) {
        case 1:
        console.log('星期一');
        break;    
        case 2:
        console.log('星期二');
        break;
        case 3:
        console.log('星期三');
        break;
        case 4:
        console.log('星期四');
        break;
        case 5:
        console.log('星期五');
        break;
        case 6:
        console.log('星期六');
        break;
        case 7:
        console.log('星期日');
        break;
        default:
        console.log('不在星期范围内');
        break;
    }
    View Code

    案例2

    // 把百分制转换为ABCDE
    
    var score = 88;
    // 两位数转换成一位数
    score = parseInt(score / 10);
    switch (score) {
        case 10:
        case 9:
        console.log('A');
        break;
        case 8:
        console.log('B');
        break;
        case 7:
        console.log('C');
        break;
        case 6:
        console.log('D');
        break;
        default:
        console.log('E');
        break;
    }
        
    View Code

    最后的default类似于if语句最后的else,当以上条件都不成立才执行

    循环解构

    while循环

    while (表达式) {

    // 循环体

    }

    // 打印1到100之间的数
    var number = 1;
    
    while (number <= 100) {
    
    console.log(number);
    
    // 每执行循环体一次,number自身就+1
    number++;
    }
    View Code

    当表达式的条件成立则执行循环体。

    do...while循环

    do {

    // 循环体

    } while (表达式)

    // 先执行一次循环体再判断条件
    var number = 1;
    do {
    // 循环体
    console.log(number);
    number++;
    } while (number > 2)    // 条件不成立就停止执行循环体
    View Code

    先执行一次循环体,再判断表达式,如果表达式条件成立则继续执行循环体。

    for 循环

    for (初始化表达式; 比较表达式; 自增表达式) {

    // 循环体

    }

    // 打印1到10之间的数字
    
    for (var i = 1; i <= 10; i++) {
    // 循环体
    console.log(i);
    }
    View Code

    执行顺序:初始化表达式>>>比较表达式>>>循环体>>>自增表达式

    初始化表达式只执行一次!

    练习例子

    在控制台输出正方形:

    // 打印一个10*10的正方形
    
    var str = '';
    // 外层循环控制行数
    for (var i = 0; i < 10; i++) {
        // 内层循环控制每行中字符的个数
        for (var j = 0; j < 10; j++) {
            // 拼接正方形
            str = str + '* ';
            // 以上的简写str += '* ';
        }
        // 控制换行
        str += '
    ';
    }
    // 打印
    console.log(str);
    View Code

     打印九九乘法表:

    // 拼接完的字符串
    var str = '';
    // 外层循环控制行数
    for (var i = 1; i <= 9; i++) {
        // 内层循环控制每行有几组
        for (var j = i; j <= 9; j++) {
           // 拼接
            str += i + '*' + j + '=' +  i * j + '	';
        }
        // 换行
        str += '
    ';
    }
    console.log(str);
    View Code

    打印直角三角形:

    var str = '';
    for (var i = 0; i < 9; i++) {
        // 内层循环与外层循环建立联系
        for(var j = i; j < 9; j++) {
            str += '* ';
        }
        // 换行
        str += '
    ';
    }
    console.log(str);
    View Code

    求1~100之间所有数的乘积:

    // 接收这个乘积
    var num = 1;
    for (var i = 1; i <= 100; i++) {
        num *= i;
    }
    console.log(num);
    View Code

    break和continue

    break:终止循环

    continue:跳出当次循环,继续下一次循环

    break例子:求整数50到200的第一个能被7整除的数

    for (var i = 50; i <= 200; i++) {
        if (i % 7 === 0) {
            console.log(i);    // 56
            // 终止循环
            break;
        }
    }
    View Code

    continue例子:求整数1到100的累加值,但要跳过所有个数为3的数

    // 总数
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
        // 判断是否是个数为3的数
        if (i % 10 === 3) {
            // 跳出当次循环
            continue;
        } else {
            // 累加
            sum += i;
        }
    }
    console.log(sum);    // 4570
    View Code

     job

    有本金10000,年利率是千分之一,计算5年后获得的本金是多少

    // 本金
    var money = 10000;
    // 利率
    var rate = 0.003;
    //  累加5次
    for (var i = 1; i <= 5; i++) {
        money += money * rate;
    }
    console.log(money);    // 10150.90270405243
    View Code

    兔子规律:1,1,2,3,5,8,13,21..十个月后有多少只

    // n1和n2是两个月的兔子的数量
    var n1 = 1;
    var n2 = 1;
    // n3变量的值是n1+n2的结果
    var n3;
    // 由于两个月数量已知,所以我们从第三个月开始算起
    for (var i = 3; i <= 10; i++) {
        n3 = n1 + n2;
        n1 = n2;
        n2 = n3;
    }
    console.log(n3);
    View Code
  • 相关阅读:
    java中的静态代理、jdk动态代理和cglib动态代理
    第三方支付熟悉
    C#进制转换
    维翔主机asp主机使用遇到的问题及解决方案总结
    windows上JSP开发环境全搭建
    文件校验工具的开发及问题
    C#加密算法总结
    WampServer搭建php环境可能遇到的问题
    分分钟搭建自己的微信聊天机器人
    KindEditor编辑器在ASP.NET中的使用
  • 原文地址:https://www.cnblogs.com/uncle-kay/p/10589926.html
Copyright © 2020-2023  润新知