u js的循环控制语句
需求:(为什么需要循环语句)
->使用循环控制的语句来处理循环的需求
① for 的基本用法
for(初始化; 条件判断; 控制变量变化){
//for循环语句;
}
☞ 1. 初始化条件可以放在for 代码前.
2. 条件判断 可以是组合的 (i>10 && i<50 ...)
3. 控制变量变化 的部分可以放在 for循环体.
快速入门:
编写一个程序, 可以打印9000000句
“你好,我是刘德华同志!”。请大家想想怎么做?
代码 :
for(var i=0;i<10;i++){
document.write("hello,wrold!"+i+"<br/>");
}
2 while循环控制
基本用法:
while(循环条件){
//循环的代码
}
快速入门案例:
我们用 while来实现 输出10句 hello,world
var i=0;
while(i<10){
document.write("hello,world"+i);
i++;
}
3 do..while循环控制
基本用法:
do{
//语句..
//....
}while(循环条件);
说明: 1. 语句部分可以是多条.
2. 循环条件可以是一个组合条件 比如: i>10 && i<30
快速入门:
把上面的要求用do...while循环一把.
u 我们现在实际运用一下for来输出一个金字塔
提示: 如果将来难题?
思路简化:输出一半的金字塔
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312"/>
<script type="text/javascript">
//输出一半金字塔
/*
* 1->一个*
** 2->2个*
***
****
*****
* 1->1* (1-1)*2+1=1 空格 2 总层数-当前层数=3-1=2
*** 2->3* (2-1)*2+1=3 空格 1 总层数-当前层数=3-2=1
***** 3->5* (3-1)*2+1=5 空格 0 总层数-当前层数=3-3=0
空心 分析
* 第一层 输出*
* * 中间层: 只输出两边的*,空间输出空格 思路---->代码
***** 最后一层 输出输出*
菱形
*
***
*****
***
*
*/
//n变量表示层数
var n=10;
for(var i=1;i<=n;i++){
//输出空格
for(var k=1;k<=n-i;k++){
document.write(" ");
}
for(var j=1;j<=(i-1)*2+1;j++){
//这里需要思考,什么时候输出*,什么时候输出空格
if(i==1 || i==n){
document.write("*");
}else{
//中间层..
if(j==1 || j==(i-1)*2+1){
document.write("*");
}else{
document.write(" ")
}
}
}
document.write("<br/>");
}
</script>
</head>
<html>