• javaScript(6)---流程控制语句



    学习要点:

      1.语句的定义  2.if 语句  3.switch语句  4.do...while语句  5.while语句

      6.for语句    7.for...in语句  8.breakcontinue语句  9.with语句

     ECMA-262规定了一组流程控制语句。语句定义了ECMAScript中的主要语法,语句通常由一个或者多个关键字来完成给定的任务。诸如:判断、循环、退出等。

     一.语句的定义

       在ECMAScript中,所有的代码都是由语句来构成的。语句表明执行过程中的流程、限定与约定,形式上可以是单行语句,或者由一对大括号“{}”括起来的复合语句,在语法描述中,复合语句整体可以作为一个单行语句处理。

     语句的种类

     

    类型

    子类型

    语法

    声明语句

    变量声明语句

    var box = 100;

    标签声明语句

    label : box;

    表达式语句

    变量赋值语句

    box = 100;

    函数调用语句

    box();

    属性赋值语句

    box.property = 100;

    方法调用语句

    box.method();

    分支语句

    条件分支语句

    if () {} else {}

    多重分支语句

    switch () { case n : ...};

     语句的种类()

     

    类型

    子类型

    语法

    循环语句

    for

    for (;;;) {}

    for ... in

    for ( x in x) {}

    while

    while () {};

    do ... while

    do {} while ();

    控制结构

    继续执行子句

    continue ;

    终端执行子句

    break ;

    函数返回子句

    return ;

    异常触发子句

    throw ;

    异常捕获与处理

    try {} catch () {} finally {}

    其他

    空语句

    ;

    with语句

    with () {}

     二.if语句

     

    if 语句即条件判断语句,一共有三种格式: 

    复制代码
    1. if (条件表达式) 语句;
    
    var box = 100;
    
    if (box > 50) alert('box大于50'); //一行的if语句,判断后执行一条语句
    
     
    
    var box = 100;
    
    if (box > 50) 
    
    alert('box大于50'); //两行的if语句,判断后也执行一条语句
    
    alert('不管怎样,我都能被执行到!');
    
     
    
    var box = 100;
    
    if (box < 50) {
    
    alert('box大于50');
    
    alert('不管怎样,我都能被执行到!');//用复合语句包含,判断后执行一条复合语句
    
    } 
    复制代码

    对于if语句括号里的表达式,ECMAScript会自动调用Boolean()转型函数将这个表达式的结果转换成一个布尔值。如果值为true,执行后面的一条语句,否则不执行。

    PSif语句括号里的表达式如果为true,只会执行后面一条语句,如果有多条语句,那么就必须使用复合语句把多条语句包含在内。

    PS2:推荐使用第一种或者第三种格式,一行的if语句,或者多行的if复合语句。这样就不会因为多条语句而造成混乱。

    PS3:复合语句我们一般喜欢称作为:代码块。

    复制代码
    2. if (条件表达式) {语句;} else {语句;}
    
    var box = 100;
    
    if (box > 50) {
    
    alert('box大于50'); //条件为true,执行这个代码块
    
    } else {
    
    alert('box小于50'); //条件为false,执行这个代码块
    
    } 
    复制代码

     

    复制代码
    3.if (条件表达式) {语句;} else if (条件表达式) {语句;} ... else {语句;} 
    
    var box = 100;
    
    if (box >= 100) { //如果满足条件,不会执行下面任何分支
    
    alert('甲');
    
    } else if (box >= 90) {
    
    alert('乙');
    
    } else if (box >= 80) {
    
    alert('丙');
    
    } else if (box >= 70) {
    
    alert('丁');
    
    } else if (box >= 60) {
    
    alert('及格');
    
    } else { //如果以上都不满足,则输出不及格
    
    alert('不及格');
    
    }
    复制代码

     

    三.switch语句

    switch语句是多重条件判断,用于多个值相等的比较。

    复制代码
    var box = 1;
    
    switch (box) { //用于判断box相等的多个值
    
    case 1 :
    
    alert('one');
    
    break; //break;用于防止语句的穿透
    
    case 2 : 
    
    alert('two');
    
    break;
    
    case 3 : 
    
    alert('three');
    
    break;
    
     
    
    default : //相当于if语句里的else,否则的意思
    
    alert('error');
    
    }
    复制代码

     

     

    四.do...while语句

    复制代码
    do...while语句是一种先运行,后判断的循环语句。也就是说,不管条件是否满足,至少先运行一次循环体。
    
    var box = 1; //如果是1,执行五次,如果是10,执行1次
    
    do {
    
    alert(box);
    
    box++;
    
    } while (box <= 5); //先运行一次,再判断
    复制代码

     

     

     

    五.while语句

    while语句是一种先判断,后运行的循环语句。也就是说,必须满足条件了之后,方可运行循环体。

    复制代码
    var box = 1; //如果是1,执行五次,如果是10,不执行
    
    while (box <= 5) { //先判断,再执行
    
    alert(box);
    
    box++;
    
    }
    复制代码

     

     

    六.for语句

    for语句也是一种先判断,后运行的循环语句。但它具有在执行循环之前初始变量和定义循环后要执行代码的能力。

    复制代码
    for (var box = 1; box <= 5 ; box++) { //第一步,声明变量var box = 1;
    
    alert(box); //第二步,判断box <=5
    
    } //第三步,alert(box)
    
    //第四步,box++
    
    //第五步,从第二步再来,直到判断为false
    复制代码

     

     

    七.for...in语句

    for...in语句是一种精准的迭代语句,可以用来枚举对象的属性。

    复制代码
    var box = { //创建一个对象
    
    'name' : '李炎恢', //键值对,左边是属性名,右边是值
    
    'age' : 28,
    
    'height' : 178
    
    };
    
    for (var p in box) { //列举出对象的所有属性
    
    alert(p);
    
    }
    复制代码

     

    八.breakcontinue语句

    breakcontinue语句用于在循环中精确地控制代码的执行。其中,break语句会立即退出循环,强制继续执行循环体后面的语句。而continue语句退出当前循环,继续后面的循环。

    f

    复制代码
    or (var box = 1; box <= 10; box++) {
    
    if (box == 5) break; //如果box是5,就退出循环
    
    document.write(box);
    
    document.write('<br />');
    
    }
    
     
    
    for (var box = 1; box <= 10; box++) {
    
    if (box == 5) continue; //如果box是5,就退出当前循环
    
    document.write(box);
    
    document.write('<br />');
    
    }
    复制代码

     

    九.with语句

    with语句的作用是将代码的作用域设置到一个特定的对象中。

    复制代码
    var box = { //创建一个对象
    
    'name' : '李炎恢', //键值对
    
    'age' : 28,
    
    'height' : 178
    
    };
    

    var n = box.name; //从对象里取值赋给变量

    
    

    var a = box.age;

    
    

    var h = box.height;

    
    

     

    
    

    可以将上面的三段赋值操作改写成:

    
    

    with (box) { //省略了box对象名

    
    

    var n = name;

    
    

    var a = age;

    
    

    var h = height;

    
    

    }

     
    复制代码
  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247433.html
Copyright © 2020-2023  润新知