一.概述
1.程序是由一条条语句构成的
2.JS严格按照从上到下的顺序执行
3.可以用{}来为代码分组,称为代码块
(1){}只是分组功能
(2)同一组的语句要么都执行,要么都不执行
二.if语句(条件判断语句)
1.if语句:
if (条件表达式){//条件为真执行代码块,为假跳过执行下面的语句代码块;}
(1)if只能控制紧随其后的一条语句,若想控制多条就用{}进行分组
(2)建议即使只有一条语句也加{}
(3)会先对条件表达式进行计算
2.if…else语句格式:
if (条件表达式){//条件为真执行代码块,为假跳过执行else的语句代码块;}else{代码块;}
3.if…else if…else if…else语句
if (条件表达式1){代码块;}else if(条件表达式2){代码块;}else{代码块;}
(1)会从上到下依次对条件表达式求值,满足条件执行当前语句并输出,不会在判断下面的条件表达式
(2)当条件表达式不正确时,继续判断下面的条件表达式,若都不满足,执行else的代码块
(3)该语句只会执行一块代码块,执行一处代码块后便退出if语句
(4)一般多配合逻辑表达式来作为条件表达式
三.switch语句(条件分支语句)
1.switch语句:
switch(条件判断){case 条件1:语句;break;case 条件2:语句;break;case 条件3:语句;break;......default:语句;break;}
(1)在执行时会将case后的值与switch后的值进行全等比较,若为true执行该case块后所有代码(需要加break控制),为false则继续向下比较
(2)遇到break会跳出switch语句,无break会一直向下执行知道所有语句结束
(3)都不满足会执行default的代码块
2.案例:输入数字,输出对应月份
<script>var num = prompt("请输入num:");switch(num){case "1":alert("现在是1月;");break;case "2":alert("现在是2月;");break;case "3":alert("现在是3月;");break;case "4":alert("现在是4月;");break;case "5":alert("现在是5月;");break;case "6":alert("现在是6月;");break;case "7":alert("现在是7月;");break;case "8":alert("现在是8月;");break;case "9":alert("现在是9月;");break;case "10":alert("现在是10月;");break;case "11":alert("现在是11月;");break;case "12":alert("现在是12月;");break;default:alert("你输入的值有误");}</script>
四.while语句(循环语句)
1.通过循环可以反复执行一段代码,这段代码叫循环体
2.语法:
//while循环while(条件表达式){语句;}//死循环:永远不会停止,除非关闭浏览器while(true){语句;}//do...while循环do{语句;}while(条件表达式)
3.while语句每次执行代码后都要在进行一次对条件表达式的判断,为false是跳出循环,所以一般都要在语句中设置改变条件的语句,称为更新表达式
4.do…while就是无论条件对错都要执行一次语句,先执行在判断
5.练习:每年利率5%,1000涨到5000要多少年
<script>var n = 1000;var m = 0;while(n<=5000){n *= 1.05;m++;}document.write(m);</script>
五.for循环
1.语法:
for(初始化表达式;条件表达式;更新表达式){语句;}
2.与c中的for相同,先执行初始化表达式,然后执行条件表达式判断是否执行循环,为true则执行语句,然后执行更新表达式,然后在执行条件表达式判断……. 若为false则跳出循环
3.三个表达式均可省略,但是分号必须有
4.for循环可以嵌套
5.for循环可以起名,用来辨识。语法就是在for前写名字+冒号
(1)例如:outer:for(var i=0;i<10;i++){}//该循环叫outer
6.练习
/*打印1-100的所有7的倍数的个数和总和*/var count=0;var sum=0;for(var i=1;i<=100;i++){if(i%7==0){count++;sum += i;}}alert("7的倍数有"+count+"个,总和为"+sum);/*打印水仙花数*/for(var i=100;i<=999;i++){ge=parseInt(i%10);shi=parseInt((i-bai*100)/10);bai=parseInt(i/100);if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){console.log(i);}}/*99乘法表*/for(var i=1;i<=9;i++){for(var j=1;j<=i;j++){document.write(j+"*"+i+"="+i*j+"\t");}document.write("<br>")}
六.break和continue
1.break关键字:用于跳出循环语句或switch语句
(1)if语句不能用break或continue,if语句属于条件控制语句
(2)break只能跳出离他最近的那层循环,也可以通过break+名字指定跳出那个循环
