javascript流程控制

流程控制: 指的是控制代码的执行顺序:
1、顺序流程控制:编译器默认
2、选择流程控制:if、switch
3、循环流程控制:for,while, do…while

顺序流程:代码按照排版从上往下依次执行, 排版先后执行代码

选择流程控制(分支结构):
有选择性的执行代码: 语法规则:
if(条件) { //条件的结果必须是布尔值
代码片段
}
if()里面结果为真,就执行{}里面的代码, 如果结果为假,就不执行,而执行大括号后面的代码

            if(yushu == 0) {
                document.write(shu+"/ 2 结果为:" + jieguo);
            }

            if(yushu != 0 ) {
                document.write("不能被整除");
            }

多个if编写起来代码复杂度很大,所以提供另外一种双选择的语法:

        if(条件) {

        }else {

        }

如果if条件为真,则执行第一个大括号内容,否则执行else后面大括号内容。

在实际开发过程当中,由于条件可能还会超过2个,所以需要使用另外一种多选择语法,

                        if(条件1) {
                            //代码块1
                        } else if(条件2) {
                            //代码块2

            }else if(条件3) {
                //代码块3
            }.....{

            }else {
                //代码N
            }


var gongzi = 15000;

            if(gongzi <= 3500) {
                document.write("不交税!");
            } else if(3500< gongzi && gongzi <= 5000){
                var shui = (gongzi - 3500) * 0.03;
                document.write("应该要交税:" + shui);
            } else if(5000< gongzi && gongzi <= 8000){
                var shui1 = 1500 * 0.03;
                var shui2 = (gongzi - 5000) * 0.1;
                document.write("应该要交税:" + (shui1 + shui2));
            } else if(8000< gongzi && gongzi <= 12500){
                var shui1 = 1500 * 0.03;
                var shui2 = 3000 * 0.1;
                var shui3 = (gongzi - 8000) * 0.2;
                document.write("应该要交税:" + (shui1 + shui2 + shui3));

            } else if(12500< gongzi && gongzi <= 38500){
                var shui1 = 1500 * 0.03;
                var shui2 = 3000 * 0.1;
                var shui3 = 4500 * 0.2;
                var shui4 = (gongzi - 12500) * 0.25;
                document.write("应该要交税:" + (shui1 + shui2 + shui3 + shui4));

            }else {
                document.write("数字错误!");
            }

另外一种多分支的体现: switch

            switch(变量名) {
                case1:
                    代码块;
                    break;
                case2:
                    代码块;
                    break;
                default:
                    代码块;
                    break;
            }
var  shuzi = 3;
            switch(shuzi) {
                case 1:
                    document.write("星期一");
                    break;
                case 2:
                    document.write("星期二");
                    break;
                case 3:
                    document.write("星期三");
                    break; //结束,后面就不判断了
                case 4:
                    document.write("星期四");
                    break;
                case 5:
                    document.write("星期五");
                    break;
                case 6:
                    document.write("星期六");
                    break;
                case 7:
                    document.write("星期天");
                    break;
                default:
                    document.write("数字错误!");
                    break;

            }

循环流程控制:循环就是重复执行某一段代码,

    for(定义表达式; 判断表达式; 步长表达式) {
                代码块
            }
循环打印一句话:
for(var i = 0; i<500; i++) {
    document.write("明天星期五!要放假了!");
}
求1-100的和
    var he = 0;
    for(var i=0; i<=100; i++) {
                he = he + i;
                //document.write(i);
    }
//判断1-100有哪些数能被11整除,并输出
            for(var i =1; i<=100; i++) {

                if(i % 3 == 0) {
                    document.write(i + "能被3整除!");
                }

                document.write("<br>");
            }

关键字break 、continue

结束整个循环: 使用关键字break
var houdu = 0.08;
            var gaodu = 8848130;
            /*
            1: houdu*2 = 0.16
            2:houdu*2 = 0.32
            */

            for(var i=0; i<100; i++) {
                houdu = 2*houdu;
                //当i=26的时候,程序就已经得到结果,后面的就没有必要执行了。break;
                if(houdu >= gaodu) {
                    document.write(i);
                    document.write("<br>");
                    break;
                }
            }

    当houdu>=高度的时候,我们的if就进入,然后执行到break, 循环就结束,表示后面的代码都不执行了
            for(var j=0; j<5; j++) {
                for(var i=0 ;i<(j+1); i++) {
                    document.write("*");
                }
                document.write("<br>");
            }
    如果break出于双重循环,或者N重循环,  那break只结束当前他所处的循环。


   continue是结束当前这一次循环,不会结束整个循环
           for(var i=0; i<10; i++) {
                if(i == 5) {
                    continue;
                }
                document.write(i + "<br>");         
            }

    break是结束整个循环, continue 是结束当前一次循环

while循环, do…while循环

            while(条件表达式) {
                代码块;
                自增表达式;
            }

            do {
                代码块;
                自增表达式;

            }while(条件表达式)
            var i =1;
            var he = 0;
            while(i<=100) {
                he = he + i;
                i++;
            }
            document.write(he);
            var i =1; 
            var he = 0;

            do{
                he = i+he;
                i++;

            }while(i<=100);
总结: forwhiledo..while都是循环, 但是for使用的最多,for能办到的事情, 其他的也都能办到,
但是whiledo。。while相对语法复杂一下,所以,一般情况我们都用for
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值