首先我们先简单来了解一下for语句
for语句是一种先判断,后运行的循环语句,但它具有在执行循环之前初始变量和定义循环后要执行代码的能力。
for有三个条件,分别是start,end,step,我们分别看看他们都是什么意思:
start 起始条件 :在循环(代码块)开始前执行 (初始化值)
end 终止条件 : 定义运行循环(代码块)的条件 (判断)
step 步长值 :在循环(代码块)已被执行之后执行 (更新)
我们来看一下单层for循环
for(start;end;step){
要循环的代码
}
执行顺序:
start --> end --> 要循环的代码 --> step --> end --> 要循环的代码 --> step--> end --> 要循环的代码 --> ......
举个例子
for( var a = 1; a < 6; a++){
console.(log)( a );
}
结果是
1
2
3
4
var a = 1; -->start;
a < 6; -->end;
a++; -->step;
按着我们上边所列的顺序我们来运算一下
第一次:1(就是a自己)
第二步:2(执行a++ ,a变成了2,2<6,)
第三步:3(执行a++ ,a变成了3,3<6,)
第四步:4(执行a++ ,a变成了4,4<6,)
第四步:5(执行a++ ,a变成了5,5<6,)
现在我们来介绍一下for循环嵌套格式
for(start;end;step){
for(start;end;step){
for.......
循环体;
}
循环体;
}
执行顺序:
当最外层为假(没法运行)时,内层不执行;
先执行外层再执行内层,直至内层的条件为假时再返回外层去执行;
外层的值可以带入内层来使用;
举个例子 九九乘法表
for (var a = 1; a <= 9; a++) {
for (var b = 1; b <= a; b++) {
document.write(`${b}*${a} =${a*b}     `)
}
document.write('<br><br>')
}
效果如下
解释一下
他的原理是这样的:外边的for循环执行一次 里边的执行一轮。
第一次:外层1
内层1,
第二次:外层2
内层1,2
第三次:外层3
内层1,2,3
···
...
...
第九次:外层9
内层1,2,3,4,5,6,7,8,9
然后按照{a} =${a*b}来运算出来;后边加 (空格)是为了让每一次运算后的结果中间有空隙;
然后在外层中加一个换行,目的是当外层每运算一次后就会经历一次换行,这样我们的九九乘法表就出来了。
还有一个for.....in 语句
for...in语句是一种精准的迭代语句,可以用来枚举对象的属性。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
格式:
for (变量 in 对象){
在此执行代码
}
for(var 变量名 in 对象 字符串 数组)
列如
var obj = {
a: 1,
b: 2,
c: 3
}
console(object)
结果为 for (var i in obj) {
console.log(obj[i]);
}
出来的结果为