问题描述
闭包就是一个可以访问其他作用域的矢量,这样的一个函数称为闭包。
2.算法描述
定义一个函数outer,当outer函数第一次中执行时,声明一个局部变量a=100,以及声明了第一个函数inner函数的声明部分并且把inner函数声明部分返回,当再次执行的时候,在自身的作用域中没有变量a,会沿着作用域链向上查询,而且每次在基础上加上10。
3. 实验讨论与结果
找出其中的内在逻辑,并写出过程,带入值,输出结果。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> function outer (){ var a=100; function inner(){ a+=10 console.log(a); } return inner; } var result =outer(); result(); result(); var result1=outer(); result1(); </script> |
四.结语
闭包问题主要是了解这个逻辑中的主次关系,在大的框架下再进行小的各层次的运算。不同的声明部分决定了不同的结果,再次进行一个新的计算时。