JavaScript循环语句
循环语句
1.while语句
2.do…while语句
3.for语句
1.while语句
while语句是条件判断语句,也是循环语句。
while(条件){循环体;}
`
//1——100的和
var g=1,sum=0;
while (g<=100){
sum+=g;
g++;
}
document.write("1+2+3+...+99+100="+sum);
`
当“条件表达式语句”的返回值为true时,就会执行大括号“{}” 中的语句块,当执行完大括号“{}”的语句块后,再次检测条件表达式的 返回值,如果返回值还为true,则重复执行大括号“{}”中的语句块,直到返回值为false时,才结束整个循环过程,接着往下执行while代码段后 面的程序代码。
使用while语句要注意以下几点:
(1)应该使用大括号“{}”包含多条语句,即使是一条语句也最好 使用大括号;
(2)在循环体中应该包含使得循环可以退出的语句,比如上面的 “i++”。对于循环体,要是没有条件,循环就会无休止地运作下去,变成 一个“死循环”,从而可能导致浏览器崩溃;
2.do…while语句
do{循环体;}while(条件);
`
//1——100的和
var f=1,e=0;
do {
e+=f;
f++;
} while(f<=100)
document.write("1+2+3+…+100="+e);
`
“do…while语句”跟while语句是非常类似的,唯一的区别在于:while语 句先判断是否符合条件,然后再执行循环体语句;do…while语句先执行循环体语 句一次,然后再判断是否符合条件。
do…while语句是先无条件执行循环体一次再判断是否符合条件的,如果符 合条件,则重复执行循环体,如果不符合条件,则退出循环。 do…while语句结尾处的while条件语句的括号后有一个分号“;”,该分 号一定不能省略,这是初学者非常非常容易忽略的一点,大家千万要记得。
do…while语句和while语句的区别:
(1)do…while语句和while语句是可以相互转换的;
(2)do…while语句将先执行一遍循环体中的语句,然后才判断条件表达 式的真假。这是它与while语句的本质区别;
3.for语句
for语句通常由2部分组成:一是“条件控制部分”,二是“循环体”。
for初始化表达式;循环条件表达式;循环后的操作表达式){循环体;}
`
//三角形组成的三角形
for (n=1;n<=5;n++) {
for (m=1;m<=n;m++) {
document.write("△")
}
document.write("<br/>");
}
`
在使用for循环之前要先设定一个计数器变量,可以在for循环之前定义, 也可以在使用时直接进行定义。
上面的语法中,“初始化表达式”表示计数器变量的初始值;“循环条件表达式”是一个计数器变量的表达式,决定了计数器的最大值;
为什么会出现死循环?
在使用for语句时,需要保证循环可以正常结束,也就是保证循环条件的结 果存在不为true的情况,否则循环体会无限地执行下去,从而出现死循环现象。
4.跳转语句
JavaScript支持的跳转语句主要有2种:
(1)break语句;
(2)continue语句;
break语句与continue语句的主要区别是:break是彻底结束循环,而 continue是结束本次循环。在这一点跟其他编程语言(如C和Java)相同的。
(1)break语句;
break语句用于退出包含在最内层的循环或者退出一个switch语句。break 语句通常用于while、do…while、switch或for语句中。
break语句通常用于while、do…while、switch或for语句中。
`
var n=50; //设置连加最大值
var sum=0;
for(var i=0;i<100;i++)
{
if(i==(n+1))
break;
sum+=i;
document.write(sum);
`
(2)continue语句;
continue语句跟break语句类似。不同之处在于,continue语句用于退出本 次循环,并开始下一次循环。而break语句是退出所有循环!
跟break语句一样,continue语句也只能用在white、do…while、for和 switch等循环语句中。
对话框
弹出输入框 prompt;
设置字符串为数字 parseInt( );
`
//最大值与最小值之间的质数
var min=prompt('请输入最小值');
var max=prompt('请输入最大值');
var mii=parseInt(min);
var maa=parseInt(max);
for(var i = mii; i <= maa; i++) {
for (a=2;a<=i;a++) {
if (i%a==0) {
break;
}
}
if (i==a) {
document.writeln(i);
}
`