JavaScript中的for循环用于重复执行一段代码,直到满足指定的条件。其基本语法如下:
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体(需要重复执行的代码)
}
初始化表达式:在循环开始之前执行一次,通常用于声明计数器变量。
条件表达式:在每次循环开始时检查,如果为真,则继续执行循环体;如果为假,则跳出循环。
更新表达式:在每次循环结束时执行一次,通常用于递增或递减计数器变量。
特别需要注意的是,这三个表达式之间要用分号隔开,而不是逗号。并且,for语句后面的括号后面也不应该加分号,否则会改变for循环的控制范围。
此外,for循环从初始化步骤开始,然后判断条件是否满足。如果满足,就执行循环体中的代码,然后执行更新表达式。这个过程会一直重复,直到条件不再满足为止。在整个过程中,"表达式1"只在循环开始时执行一次,之后的每次循环都会跳过。
先来个简单的案例
求两个数之间的数字的累加和:
<body>
<script>
function getArrAdd(m = 0,n = 0){
let sum = 0
for(let i = m;i<n;i++){
sum += i
}
document.write(sum)
}
let a = +prompt('请输入第一个数')
let b = +prompt('请输入第二个数')
getArrAdd(a,b)
</script>
</body>
同时,在编程中,嵌套循环是一种常见的结构,它允许在一个循环体内部再嵌入另一个完整的循环。比如双重for循环,即一个for循环里嵌套另一个for循环。理论上来说,for循环的嵌套层数可以很多,但为了代码的可读性和执行效率,通常不建议超过3层。
Python语言也支持循环嵌套,你可以在一个for循环体内嵌入另一个for循环,反之亦然。同样地,C语言也允许在一个循环内使用另一个循环。
具体到执行过程,以双重for循环为例:首先求解表达式1,即给变量i赋初值,然后执行外层for循环一次,内层全部循环一次(外层循环一次,内层for循环全部执行完成再进行外层的一次循环),直到外层循环结束。
需要注意的是,多层for循环的嵌套可能会导致代码执行的效率降低,因此在使用的时候需要慎重考虑其影响。
小案例:做一个99乘法表
<style>
span{
color: rgb(4, 4, 18);
display: inline-block;
border: 5px 10px;
margin: 3px;
border-radius: 5px;
box-shadow: 2px 2px 2px rgb(11, 11, 11);
}
</style>
</head>
<body>
<script>
for(let i=1;i<=9;i++){
for (let j = 1; j<=i; j++) {
document.write(`<span>${i} * ${j}=${i * j}</span>`)
}
document.write('<br>')
}
</script>
</body>
在使用for循环时,尽量不要滥用循环,否则会增加程序的运行时间和复杂度。