分支结构:
if...else
if..else
if... switch
.
循环结构:
for
while
do...while
for循环语法结构
for循环语法结构:
for(循环条件初始化;循环条件判断;循环迭代){
循环体;
}
执行规则:
第一步:循环条件的初始化 var i=0; 只在最开始执行一次
第二步:循环条件判断 i<5;
若判断条件结果为真:则执行循环体
若不成立: 结束循环;
第三步:循环迭代 i++
第四步:回到第二步
例如下面代码
document.write('hello world<br>');
document.write('hello world<br>');
document.write('hello world<br>');
document.write('hello world<br>');
document.write('hello world<br>');
我们用for循环语句可以这样写:
for(var i=0;i<5;i++){
document.write('hello world<br>');
}
这样很简便。
//外层循环
for(var i=0;i<10;i++){
//内层循环
for(var j=0;j<=i;j++){
document.write('*')
}
document.write('<br />')
}
例如:求15以内奇数的和
var sum=0;//和
for(var i=0;i<15;i++){
// console.log(i); //遍历
if(i%2!=0){
sum+=i;
}
}
或者第二种方法:
for(var i=1;i<15;i+=2){
sum+=i;
}
又或者第三种方法:
for(var i=14;i>0;i--){
if(i%2!=0)
sum+=i;
}
例如:求20-100之间3的倍数的和
var sum=0;
for(var i=20;i<100;i++){
if(i%3==0){
sum+=i;
}
}
console.log(sum);
break; 结束循环
举例:
通过输入框录入数字,当遇到exit时,结束录入
for(var i=0;;i++){
var num=prompt('请输入数字');
if(num=='exit'){
break;//结束循环
}
}
break语句 结束结构
continue语句 结束本次循环,继续下次循环
例如:
//continue语句
for(var i=0;i<5;i++){
if(i%2==0){
continue;
// break;
}
alert(i);
} 结果 1 3
//break语句
for(var i=0;i<5;i++){
if(i%2!=0){
break;//结束结构
}
alert(i);
} 结果 0
while循环
while循环
语法:
while(判断条件){
循环体;
}
执行规则:
当判断条件为真时,则执行循环体;
var i=0;
while(i>3){
console.log('hello');
}
例如:求10以内奇数的和
var i=0;
var sum=0;
while(i<10){
if(i%2!=0){
sum+=i;
}
i++;
}
console.log(sum);
猜谜: 猜数字游戏 谜底:50
若用户猜的数字大于谜底,则提示:‘猜大了’,
小于谜底,提示:‘猜小了’,
猜中谜底,提示:‘中奖了’,结束猜谜
while(true){
var num=prompt('请输入您猜的数字:');
if(num>50){
alert('猜大了');
}else if(num==50){
alert('中奖了');
break;
}else if(num<50){
alert('猜小了');
}else{
alert('非法输入,请重新输入');
}
}
统计50以内是3的倍数的数字的个数
var i=1;
var count=0;//次数
while(i<50){
if(i%3==0){
count++;//次数+1
}
i++;
}
console.log(count);
do…while
do...while
语法:
do{
循环体;
}while(判断条件);
执行规则:
先执行循环体,
若判断条件为真,则执行循环体
var i=0;
do{
console.log(i);
i++;
}while(i<3); //0,1,2
循环嵌套
//循环的嵌套
//外层循环执行一次,内层循环执行完
for(var i=0;i<3;i++){
//打印一行*
for(var j=0;j<5;j++){
document.write('*');
}
document.write('<br>');
}
例子:
打印如下图形:
*
**
***
****
*****
//外层循环控制行数
for(var i=0;i<5;i++){
//打印一行*
//内层循环每一行*个数
for(var j=0;j<=i;j++){
document.write("*");
}
document.write('<br>');//换行
}
打印如下图形:
*
***
*****
*******
行号 *个数
1 1
2 3
3 5
4 7
.. ..
n 2*n-1
*/
//外层循环控制行数
for(var i=1;i<5;i++){
//打印一行*
for(var j=0;j<2*i-1;j++){
document.write('*');
}
document.write('<br />');
}