循环结构
特点 : 反复执行的代码 - 几乎一瞬间执行完毕
while和do..while
-
while
var i = 0; while( i < 10 ){ 循环体; i++; } -
do..while
语法: var 循环变量 = 0; do{ 循环体; 变量变化; }while(循环条件)
1.只看第一次,如果都满足条件,两者没有区别,无非do..while更麻烦
2.如果第一次大家都不满足条件,while一次都不会执行,而do..while至少会执行一次
for
for(var i = 0; i < 10; i++){
循环体;
}
冒泡排序 ----重点
####举例:
var arr=[5, 58, 74, 1, 88, 36, 22, 55, 222, 55, 1, 74, 251, 98, 8585, 655, 655, 341]
for(var i = 0; i <arr.length; i++){
for(var j = 0; j < arr.length; j++){
if(arr[j] > arr[j+1]){
var a = arr[j+1];
arr[j+1] = arr[j];
arr[i]] =a;
}
}
console.log(arr);
}
switch (可以嵌套自身)
语法:
switch(变量/表达式){
case 值1:
操作1;
break;
case 值2:
操作2;
break;
default:
默认操作;
}
注意:
1.没有break
默认值要满足条件 1,就会把后面的操作都做完
2.最后的default可以不用加break
3.如果连续多个操作是一样的效果,可以省略中间部分的操作
举例:
var user = parseInt(prompt('请输入您要查询的东西\n1.查询话费\n2.查询流量\n3.套餐修改\n4.业务办理\n5.公司业务\n6.其他业务\n7.人工服务'));
switch (user) {
case 1:
alert('查询话费');
break;
case 2:
alert('查询流量');
break;
case 3:
alert('套餐修改');
break;
case 4:
case 5:
case 6:
alert('正在维护');
break;
case 7:
alert('正在接入人工服务,为保证通话质量,我们会对您的通话内容进行录音');
break;
}
判断平闰年,每月多少天
var month = parseInt(prompt('请您输入要查询的月份'));
var year = parseInt(prompt('请您输入要查询的年份'));
var a = year % 400;
var b = year % 100;
var c = b % 4;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert('大月31天');
console.log('大月31天');
break;
case 4:
case 6:
case 9:
case 11:
alert('小月30天');
break;
case 2: switch (a) {
case 0:
alert(year + "是闰年,二月有29天");
break;
default:
switch (b) {
case 0:
alert(year + "是平年,二月有28天");
break;
default:
switch (c) {
case 0:
alert(year + "是闰年,二月有29天");
break;
default:
alert(year + "是平年,二月有28天");
break;
}
break;
}
}
}
-
死循环:
1.while(true){} 2.for(;;){} 特殊: for:的两个分号一个都不能少 -
退出循环:
-
退出循环:break; -
退出本次循环:continue;
总结
-
while
一般都不会使用,在不确定循环次数的时候使用 -
for
常用,确定循环次数