for循环
案例一
在控制台输出1~100:
for (var i = 0; i < 10; i++) {
console.log(i);
}
案例二
输出1-100的和
var sum =0;
for(i=1;i++;i<=100){
sum+=i;
}
console.log(sum);
注意:所有的变量都要声明,sum不能在for里直接声明
案例三
for(var i=1; i<10;i=i+3){
i=i+1;
console.log(i);
}
输出结果 2,6,10
案例四
<script type="text/javascript">
for(var i=1;i<10;i=i+1){
if(i%2==0){
i=i*2;
}
console.log(i);
}
</script>
输出结果 1,4,5,12
案例五
找出1~1000中所有能被5整除,或者被6整除的数字,在控制台输出。
for(var i=1; i<=1000; i=i+1){
if(i%5==0 || i%6==0){
console.log(i);
}
}
案例六
用户输入一个数字,列出所有它能够整除的数字,比如用户输入48,那么控制台中将显示1,2,3,4,6,8,12,16,24,48。用户输入19,控制台中将显示1,19。用户输入21,控制台中将显示1,3,7,21。
var num=parseInt(prompt("请输入一个数字")); /* prompt()方法用于显示一个带有提示信息,并且用户可以输入的对话框。*/
for(var i=1;i<=num;i++){
if(num%i==0){
console.log(i);
}
}
案例七
轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,就算踩地雷了,请在控制台输出1~60之间所有的“安全数”。比如1、2、3、4、5、6、8、9、10、11、12、13、15、16、18……
for(var i=1;i<=60;i++){
if(i % 7 !=0 &&i%10!=7){ //不能被7整除且个位数不能是7
console.log(i);
}
}
案例八
水仙花数是一种特殊的三位数,它的特点就是每个数位的立方和等于它本身,比如153就是水仙花数,因为1^3+5^3+3^3=153。在100~999之内只有4个水仙花数,请找出来。
//穷举100~999
for(var i=100;i<=999;i++){
//得到这个i的每一个位
var baiwei=parseInt(i/100);
var shiwei=parseInt(i%100/10);
var gewei=i%10;
//验证是否符合水仙花数
var a=Math.pow(baiwei,3);
var b=Math.pow(shiwei,3);
var c=Math.pow(gewei,3);
if(a+b+c==i){
console.log(i);
}
}
案例九
用循环语句求阶乘,比如,15的阶乘是?
var result =1;
for(var i=1;i<=15;i++){
result=result*i;
}
console.log(result);
案例十
用户输入一个数,输出因数的个数。比如用户输入48,此时有1、2、3、4、6、8、12、16、24、48,共10个数字。用户输入21,此时有1、3、7、21共4个数字。
var num = parseInt(prompt("请输入数字"));
var n = 0;
for (var i = 1; i <= num; i++) {
if (num % i == 0) {
n += 1;
}
}
console.log(n);
案例十一
判断质数,质数就是只能被1和自己整除,即:它的因数个数是2。比如2、3、5、11、13、17、19、23……用户输入一个数字,弹出这个数字是否是质数。
var num = parseInt(prompt("请输入数字"));
var n = 0;
for (i = 1; i <= num; i++) {
if (num % i == 0) {
n++;
}
if(n==2){
alert("质数");
}
else{
alert("不是质数");
}
}
案例十二
双重循环,平行四边形
for(var i=1;i<=5;i++){
for( var k=1;k<i ;k++){
document.write(" ")
}
for (k=1;k<6;k++){
document.write("*")
}
document.write("<br>");
}
提示:Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问,呈现页面
案例十三
for (var i = 0; i < 6; i++) {
for (var k = 0; k < 5 - i; k++) {
document.write(" ");
}
for (var k =0; k <6; k++) {
document.write("*");
}
document.write("<br>");
}
案例十四
九九乘法表
for(var i=1;i<10;i++){
for(var k=1;k<=i;k++){
document.write(i+"*"+k+"="+(i*k<10?i*k+" ":i*k+" ")); // + 字符的拼接
}
document.write("<br>");
}
注意: 不同的浏览器,宽度不一样。
while循环
只要指定条件为 true,循环就可以一直执行代码。
var i=10;
while (i > 0) {
i--;
console.log(i);
}
输出结果 9 8 7 6 5 4 3 2 1 0
do...while 循环
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。
var i=10;
do {
i--;
console.log(i);
} while (i > 10);
输出结果 9 至少循环一次