JavaScript程序结构

程序结构

程序的执行顺序,分为顺序结构、分支结构、循环结构三种

一、顺序结构

程序默认的结构

二、分支结构

分支结构的特点:在同一个分支结构中只会执行一个分支

(1)if
if(条件){
代码块1;
}

执行规则: 若条件成立在,则执行if语句对应的代码块

var age = 26;
    if (age >= 18) {
   		alert("你已经成年");//你已经成年
    }

在同一个分支结构中只会执行一个分支,因为两个if条件是独立的,所以都会输出

var a = 5;
       if (a > 3) {
           console.log(1);//1
       }
       if (a > 0) {
           console.log(2);//2
       }
2.if…else
if(条件){
	代码块1;
}else{
	代码块2;
}

执行规则:若if条件成立,则执行if语句对应的代码块,若不成立,则执行else中的代码块

var age = 15;
    if (age >= 18) {
   		alert("你已经成年");
   }else{
   		alert("你还没有成年");//你还没有成年
    }
3.多分支语句
if(条件1){
	代码块1;
}else if(条件2){
	代码块2;
}
...
else if(条件n){
	代码块n;
}else{
	代码块m;
}

执行规则:满足条件n,执行条件n对应的代码块,仅会执行一个分支

var age = prompt('请输入年龄:');
        if (age < 18) {
            console.log('未成年');
        } else if (age >= 18 && age <= 30) {
            console.log('青年');
        } else if (age > 30 && age <= 60) {
            console.log('中年');
        } else if (age > 60) {
            console.log('老人')
        } else {
            console.log('请输入正确的年龄');
        }
4.switch结构

switch…case是一个全等比较

	switch(表达式){
       case 值:
			代码块;
 			break;
		case 值2:
			代码块;
			break;
		...
		default:
			代码块;
			break
	}

执行规则:表达式分别于case后面的值做比较,判断二者是否相等,若相等,则执行对应的代码块。若上面的case与表达式均不相等,则执行default中 的内容

<script>
        var a = 10;
        var b = 20;
        var c = '/';
        var result;
        switch (c) {
            case "+":
                result = a + b;
                break;
            case "-":
                result = a - b;
                break;
            case "*":
                result = a * b;
                break;
            case "/":
                result = a / b;
                break;
            default:
                result = a + b;
                break;
        }
        console.log(result);
    </script>

switch穿透的问题

 60分以上的及格,其他的留级
        switch (score) {
            case 6:
            case 7:
            case 8:
            case 9:
            case 10:
                console.log('及格');
                break;
            default:
                console.log('留级');
                break;
        }

三、循环结构

1.for

for(循环变量初始化;循环判断;循环迭代){
	循环体;
}	
执行的规则
   第一步:循环变量初始化  var i=0;
   第二步:循环条件判断    i<5
                   判断成立        执行循环体
                   判断不成立      结束循环
   第三步:循环迭代        i++
   第四步:  回到第二步
   for (var i = 0; i < 5; i++) {
            console.log(i);//0 1 2 3 4
        }

2.while
执行规则:若条件成立,则执行循环体

while(条件){
		循环体;
	}
	
	计算一张纸折叠多少次,厚度超过珠穆拉玛峰
 var total = 8848000;
        var h = 1;//纸厚度
        var count=0;
        while (h <= total) {            
            h*=2;
            count++;//次数递增
        }
        console.log('折叠了'+count+'次数');
        console.log(h);

3.do…while
while和do…whiel的区别:while循环会先判断,再执行,do…while先执行再判断,无论条件真假,都会先执行一次

do{
	循环体;
 }while(条件);
 var a = 0;
        do {
            console.log(1);//1
        } while (a > 0);


        while (a > 0) {
            console.log(1);//无输出
            a++;
        }

4.for…in
常用于遍历对象和数组

数组
var arr = [10, 20, 30, 40];
for(var i in arr){
         console.log(i);
         console.log(arr[i]);
      }
对象
 var obj = {
            name: 'jack',
            age: '20',
            addr: "北京路"
        };
        for (var i in obj) {
            console.log(i);
            console.log(i,obj[i]);
        }

5.break和continue的区别
break; 结束循环,离自己最近的一个循环
continue; 结束本次循环,继续下一次循环,离自己最近的一个循环

 for(var i=0;i<5;i++){
            if(i==2){
                break;
            }
            console.log(i);
        }
        
var sum = 0;//需要有初值,否则会NaN
            if (i % 2 != 0) {
                continue;
            }
            sum += i;// sum =sum+0
        }

6.循环的嵌套
外层循环执行一次,内层循环执行一遍

 for (var j = 0; j < 4; j++) {
            //输出一行*
            for (var i = 0; i < 5; i++) {
                document.write('*');
            }
            //换行
            document.write("<br>");
        };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值