1、循环结构
for语句
for(循环变量;条件表达式;操作表达式){
循环体
}
for循环语句的执行步骤如下
<script>
var sum = 0;
for (var i = 0; i < 10; i++) {
sum += i;
}
console.log(sum);
</script>
上面这段代码大家可以根据上面那个步骤推一下sum的值,这里就不进行展示了
for循环有什么用?
它可以重复执行相同的代码,亦或者是不同的代码,以及求和等
接下来写一个案例,根据上面的代码,求1-100(包含100)的和
<script>
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
</script>
这个肯定很简单吧,接下来我们把难度稍微升级一点,需要用到if语句和求余函数,这里给出一个案例,求1-100(包含100)的偶数和
首先想,偶数怎么得出来?
第一,得判断,怎么判断?if循环来判断,判断后在里面写语句对吧,因为是1-100,数字很多,我们总不能一个个判断吧,这里就要用到for语句了
接下来给出我们的代码
<script>
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 2 == 0)
sum += i;
}
console.log(sum);
</script>
这里的if语句我来解释一下,%是求余符号,也就是说,当i这个数字求余2是0,说明它是偶数
举个例子,1%2=1,2%2=0,3%2=0,4%2=0,这样以此类推
这里给出一个案例:1到100之间,能被3整除的数字,答案在文章的末尾
现在了解了for循环,那么再来了解一下升级版的循环嵌套好了,跟普通单层循环差不多,这里用for循环举例
99乘法表案例
<script>
var str = "";
for (var i = 1; i < 10; i++) {
for (var j = 1; j <= i; j++) {
str += `${i}*${j}=${i * j}\t`;
}
str += "\n";
}
console.log(str);
</script>
思路是什么?我们可以推断,类似于之前那个图一样来进行推断,先初始化变量i, 然后对它做条件表达式的判断,很明显,第一次是成立的,所以进入循环体,循环体也是个循环,那么我们继续推断,先初始化变量j,然后对它做条件表达式的判断,第一次也是成立的,这下,执行j里面的循环体,str += `${i}*${j}=${i * j}\t`;
\t是表示制表符,也就是键盘上的Tab键,``在这对符号内的,就可以用${变量名},来写入变量,相当于,str = str + "1*1=1"
这样的一句代码,然后我们继续推,j++是操作表达式,我们执行它,执行它后对条件表达式
j<=i进行判断,此时j是2,循环结束,出来,执行语句str += "\n";
\n表示换行符,这样写会更加工整一些
这时候,上面那个for循环还没结束,所以继续执行操作表达式,执行后进行条件表达式的判断,依然成立,还是如之前的j一样,继续操作,直到条件不成立时,这里就不继续推演了。
这里简单提一下while循环和do...while循环
当条件表达式成立时,执行循环体
while(条件表达式){
循环体
}
执行一次循环体后,当条件表达式成立,才继续执行循环体
do {
循环体
}while(条件表达式)
这里就不举出其他两个循环的例子了,写法上都差不多
这里提一下两个关键字
continue,break
以下面这段代码举例,continue其实就是跳过的意思,break是结束的意思
如果i=1,那就跳过1,回到操作表达式,这个循环下面的内容也不会继续执行
如果i=3,那就结束循环,也就是说,这个循环被结束了,不会再继续这个循环了
<script>
for (let i = 0; i < 5; i++) {
if (i == 1) {
continue;
}
console.log(i);
if (i == 3) {
break;
}
}
</script>
1-100之间能被3整除的代码如下
<script>
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 3 == 0)
sum += i;
}
console.log(sum);
</script>