由浅入深JavaScript6基础-语句2

JavaScript语句

JavaScript循环语句

    JavaScript循环语句又称迭代语句。声明一组反复执行的命令,知道满足
条件。循环语句有,for ,while do-while for in

JavaScript循环语句——for
    for语句应该是最著名的循环语句了,在许多语言都有他的影子。
    基本语法:
    for (initialization; expression; post-loop-expression) statement
    eg:输出1到9
        for(var i =0 ;i<10;i++){
            alert(i);
        }
    定义变量i,初始化为0;执行条件是i<10,当>=10时退出循环,
    每循环完一次i+1;
    其中变量i也可以在外面定义,i++也可以写成其他的条件,终止条件也可以不写
    eg:
            var i = 0;
            for(i;;){
                alert(i);//没有终止条件没有每次循环后的操作,一直输出0
            }
        上面这个例子也称为死循环,死循环会一直运行下去,会大量消耗机器资源。
    eg:     var i = 0;
            for(i;;i+=2){
                alert(i);
            }
        上面这个例子也是死循环,无限输出,0,2,4,6……
        
JavaScript循环语句——while
    基本语法:while (expression) statement
    当满足while后面的表达式才执行statement语句,否则跳过语句。
    eg:输出1到9
        <script>
            var i = 1;
            while(i<10){
                console.log(i);
                i++;
            }
        </script>
JavaScript循环语句——do-while
    基本语法:do {statement} while (expression);
    循环执行do代码块里的语句,直到while里的表达式不满足
    eg:输出0到9
        <script>
            var i = 0;
            do{
                console.log(i)
                i++;
            }while(i<10);
        </script>
JavaScript循环语句——for-in
    for-in多用在循环遍历对象
        <script>
            var oJson = {name:'zdx',age:12,sayHello:function(){console.log('函数')}} ;
            for(var i in oJson){
                alert(i+':'+oJson[i]);//name:zdx
            }
        </script>
    声明一个json对象oJson,里面有属性name,age,sayHello,获取该对象的属性
    和值,用for-in遍历。
    
JavaScript控制循环:
    JavaScript用来控制循环的有break和continue关键字。
    break立即退出循环体,不再执行循环下面的代码,
    continue跳过本次循环继续执行下次循环。
    eg:
        <script>
            for(var i = 0;i<10;i++){
                if(i==5){
                    console.log('break:'+i);
                    break;            
                }
                    console.log(i);
            }
            for(var i = 0;i<10;i++){
                if(i==5){
                    continue;
                    console.log('不执行');
                }
                console.log(i);
            }
        </script>
    对于第一个循环。循环输出0,1,2,3,4之后4++变成5,进入if判断,i==5
    输出break :5 ;然后遇到break关键字,立即退出for循环。
    其最终结果为,0,1,2,3,4,break : 5
    对于第二个循环。循环输出0,1,2,3,4之后4++变成5,进入if判断,i==5
    遇到关键字continue,跳过本次循环,直接进入下次循环。
    其最终结果为:0,1,2,3,4,6,7,8,9缺少了5
    
带标签的break,continue
    当我们面对双重循环,break,和continue是指的哪个循环呢?
    事实上:默认情况下,break,continue所在哪个循环就作用在那个循环上。
        <script>
            for(var i = 0;i<3;i++){
                for(var j = 0 ;j<3;j++){
                    if(j==1){
                        break;//该break作用在内层for语句。
                        //因为break在内层循环上
                    }
                    console.log("j:"+j);
                }
                if(i=2){
                    continue;//continue作用在外层for语句。
                        //因为continue在外层循环上
                }
                console.log('i:'+i);
            }
        </script>
    但是当我们想要在内层循环break,或continue外层循环怎么办,或者
    当遇到更高级的循环,比如多重循环嵌套,如果又遇到了continue,
    跳出本次是指跳出哪个循环呢,遇到break是终止哪个循环呢。为了防止模糊
    不清的概念,所以有了标签,给循环带上标签,然后break,和continue后面
    跟上标签,就知道跳出的是哪个循环了。
    再循环前加个标签,标签不固定,可以自定义。一般都用outer,inter。
    eg:
        <script>
        out: for(var i = 0;i<10;i++){
            console.log('i:'+i);
            inner: for(var k = 0;k<10;k++){
                if(k==5){
                    break out;
                }
                console.log('k:'+k);
            }
        }
        console.log('.................');
        out: for(var i = 0;i<10;i++){
            console.log('i:'+i);
            inner: for(var k = 0;k<10;k++){
                if(k==5){
                    continue out;
                }
                console.log('k:'+k);
            }
        }        
        </script>

       


总结:分支和循环是学好JavaScript语言的基础,一定要扎实牢靠,对于本章节的

内容需要大量练习。多重if,多重循环,break,continue。


——总结——

限于文章篇幅原因,这里仅仅介绍冰山一角。由于笔者的水平有限,编写时间也很仓促,
文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值