JavaScript while, do while for 循环语句
来源:互联网 发布:多益网络有哪些游戏 编辑:程序博客网 时间:2024/05/01 23:10
介绍循环语句时我们先要清楚明白什么时循环。
就拿生活中的例子而言:
1.食堂阿姨打菜:
接过顾客的的餐盘→询问菜品→打菜→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完了。
2.快递员送快递:
查看送件地址→赶往目的地→电话告知收件人→收件人签收→交递快件,重复以上过程,直到所有需要送的快递都处理完了。
以上两个场景都有一个共同点:
有条件的重复地做一件事。每次做的事情不同但类似。
程序是为了解决实际问题的,实际问题中存在重复动作,那么程序中也应该有相应的描述,这就是循环。
例如我们写一个计算从1-10的和的案例,
有以下三种方案:
方案一:
var sum = 1+2+3=4+5+6+7+8+9+10;
方案二:
var sum2 = 0;
sum2 += 1;
sum2 += 2;
sum2 += 3;
sum2 += 4;
sum2 += 5;
sum2 += 6;
sum2 += 7;
sum2 += 8;
sum2 += 9;
sum2 += 10;
我们来看这两个案例,虽然两个案例都实现了最后结果,但我们如果想要计算10000以内的数字和呢?是不是我们要写10000行代码呢?这现实吗?
那我我就必须想要寻找一种更优的结构来实现,答案无疑是用循环再好不过了。
示例:
var sum3 = 0;
var n = 1;
while(n <= 10){
sum3 += n;
n++;
};
如果我们想要计算10000甚至更大的数字,那么我们只需要把10改为我们任何一个需要的数字,怎么样,运用循环简便吧,好了话不多说,下面就让我们正式开始学习循环吧。
先来介绍while 循环:
While循环是表示:当...则...,也就是当某个条件成立时,则一直重复做。大家可以把上面的例子运行一下,运用我们昨天介绍的开发者工具查看运行轨迹以及变化情况。由于csdn限制我就不一一进行发示例图了,见谅啊。
下面再给大家介绍一个前几天写的水仙花数,查看三位数中都有那些是水仙花数,
var Fir_Num = Math.floor(Num / 100);
var Sec_Num = Math.floor((Num % 100) / 10);
var Thr_Num = Num % 10;
var sum = Math.pow(Fir_Num, 3) + Math.pow(Sec_Num, 3) + Math.pow(Thr_Num, 3);
if(sum == Num){
alert(Num+"水仙花数")
}
/* alert(Num + (sum == num ? "是" : "不是") + "水仙花数");*/
Num++;
}
一个是条件前置,一个是条件后置,后者保证循环体至少会进入执行一次。所以由一个宏,为了插入代码块的,就叫
do {...} while(0)
其目的是为了给代码块加上两边的大括号。
var CHGDP = 49089.82;
var USGDP = 142562.75;
do{
CHGDP = CHGDP * (1+0.08);
USGDP = USGDP * (1+0.02);
year++
}while(CHGDP < USGDP);
alert(year);
讲了这么多我们来总结一下循环的套路: 忍不住吟诗一首,自古深情留不住,总是套路得人心。
初始状态,
循环条件
循环体(需要重复做的事情)
为下次循环做准备
那如何去写循环的程序呢? 回答四个问题:
初始状态,
循环条件
循环体(需要重复做的事情)
为下次循环做准备
下面给大家总结一下水仙花数和GDP的问题:
水仙花数问题
GDP预测问题
初始状态
Num = 100
varyear =2009;
varCHGDP =49089.82;
varUSGDP =142562.75;
循环条件
(Num <=999)
CHGDP< USGDP
循环体
varFir_Num =Math.floor(Num / 100);
varSec_Num =Math.floor((Num % 100) / 10);
varThr_Num = Num %10;
varsum =Math.pow(Fir_Num,3) + Math.pow(Sec_Num,3) + Math.pow(Thr_Num,3);
if(sum == Num){
alert(Num+"水仙花数")
}
}
CHGDP = CHGDP * (1+0.08);
USGDP = USGDP * (1+0.02);
year++;
为下次做准备
Num++
year++;
下面给大家先简单介绍一下for循环。
其实for循环很简单
var myarray = new Array();for (i = 0; i < 10; i++) {
myarray[i] = i;
}
前三个都为必选项,分别是:
表达式:该表达式只在执行循环前被执行一次
boolean表达式:true 执行,false结束
表达式:在每次经过循环的最后执行该递增表达式
- JavaScript while, do while for 循环语句
- 循环语句小结 for while do-while
- 循环结构语句---for,while,do-while
- 循环语句(for;while;do -while)
- 循环语句(while、do...while、for)
- [TwistedFate]循环语句:while循环,do...while循环,for循环
- 循环语句(for循环,while循环,do-while循环)
- while、do while、for循环
- 循环:for、while、do-while
- javascript 循环语句 while、do-while、for-in、for用法区别
- 016.php循环do-while、for语句
- javascript 循环 while ,for ,switch ,do..while,for ..in
- do while 循环语句
- do.while循环语句
- 循环语句For While do-while的小练习
- Object-C,循环语句for,while,do-while
- Java 循环语句之 while ,do ...while,for
- PHP循环语句详解 while, for, foreach, do while
- Easyui select onChange事件
- day08 abstract interface 多多指教
- 判断字符串中是否含有大写字母(Regex)
- Linux 设置apache,mysql开机启动
- 流式布局--标签
- JavaScript while, do while for 循环语句
- 通过JDBC进行简单的增删改查(以MySQL为例)
- C语言模拟实现继承和多态
- 零基础APP自动化测试教程(四)
- Java面向对象(2)
- 如何查看nohup.out里面的日志
- TensorFlow-2 数字识别
- String replace多个符号或字符
- Hdu 4219 Randomization?【树型Dp】好题~但是好难呀.