JavaScript中如何使用for循环计算n的平方?附代码原理解析
代码逐段解析
function square(n) { let result = 0; for (let i = 1; i <= n; i++) { for (let j = 1; j <= n; j++) { result += 1; } } return result; }
function square(n):定义名为square的函数,入参n是需要计算平方的数字。let result = 0:初始化计数变量,最终的平方值会累计在这个变量中。- 外层
for循环:计数器i从1开始,每次循环加1,直到i大于n时停止,总共会执行n次。 - 内层
for循环:每触发一次外层循环,内层循环就会完整运行一轮:计数器j从1开始,每次加1,直到j大于n时停止,每轮内层循环会执行n次。 result += 1:每执行一次内层循环,就给计数变量加1。return result:所有循环跑完后,返回累计的计数值。
嵌套循环计算平方的原理
n的平方本质就是n个n相加,也就是总共有n×n个1相加的结果,这段代码完全贴合这个数学逻辑:
- 外层循环跑n次,对应“累加n轮”的逻辑
- 每轮内层循环跑n次,每次加1,相当于每轮总共累加了n
- 所有循环跑完后,总加1的次数就是n×n,也就是n的平方
分析这类代码的入手方法
直接拿小的参数值代入走完整的执行流程,逻辑就会非常清晰,我们拿示例里的n=5举例:
- 初始状态:result = 0
- 第1次外层循环(i=1):内层跑5次,加5次1 → result = 5
- 第2次外层循环(i=2):内层再跑5次,加5次1 → result = 10
- 第3次外层循环(i=3):内层跑完 → result = 15
- 第4次外层循环(i=4):内层跑完 → result = 20
- 第5次外层循环(i=5):内层跑完 → result = 25
- 循环全部结束,返回25,正好是5的平方
内容的提问来源于stack exchange,提问作者Daymon Sandles
相关产品推荐
相关产品推荐

