一.概述
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+名字指定跳出那个循环