理解变量作用域对掌握循环非常重要,它决定了变量在哪里可以被访问和使用。
for 循环有两个关键的作用域范围:
作用域1:初始值声明的作用域
关键理解:
for 循环的初始值部分用 let 声明的变量,其作用域仅限于循环内部作用域2:循环体的作用域
对比:使用外部定义的变量
while 循环的作用域相对简单,因为它没有初始值声明部分:
关键理解:
while 循环没有初始值声明部分,所以变量通常在外部定义需要保存循环结果时:在循环外部定义变量
无需外部访问时使用内部变量: 如果计算结果只在循环内部使用,就应该在循环内部定义变量:
嵌套循环就像是在循环里面再放一个循环,就像俄罗斯套娃一样,一层套一层。
嵌套循环 = 外层循环 + 内层循环
🎯 核心规律:
例子:九九乘法表
这个九九乘法表完美地展示了嵌套循环中内层循环受外层循环控制的机制:
第1轮:i = 1(第1行)
j <= 1第2轮:i = 2(第2行)
j <= 2第3轮:i = 3(第3行)
j <= 3第4轮:i = 4(第4行)
j <= 4第5轮:i = 5(第5行)
j <= 5第6轮:i = 6(第6行)
j <= 6第7轮:i = 7(第7行)
j <= 7第8轮:i = 8(第8行)
j <= 8第9轮:i = 9(第9行)
j <= 9关键机制: j <= i 这个条件是整个九九乘法表的核心
外层的 i 值决定了内层循环要执行多少次
j <= 3,执行 3 次j <= 7,执行 7 次每轮内层循环都会重新开始
🔥 关键理解:外层变量向内可见,内层变量向外不可见
作用域规则详解:
作用域规则总结: 经过这么多反复的介绍,你应该已经理解变量作用域的规则了:
{} 创建作用域:我们已经学过的 for/while 循环语句、if 语句都会创建作用域,实际上,单独的 {} 也能创建独立的作用域📝 单独 {} 创建作用域的例子:
💡 提示:一般情况下我们不会单独使用 {} 来创建作用域,通常我们会使用 if 语句、for/while 循环等语句来创建代码块,这个例子主要是为了帮助你理解作用域的本质原理。
今天我们学习了循环的高级技巧:
{} 创建作用域,外层变量向内可见,内层变量向外不可见掌握了这些高级技巧,你就能够: