| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 闭包 函数嵌套函数 内部函数可以使用外部函数的变量
- // 闭包的作用 保护变量不被销毁
- function foo(){
- var a = 10;
- function seta(num){
- a += num;
- return a;
- }
- return seta
- }
- // console.log(foo());
- var foo2 = foo();
- console.log(foo2);
- var num1 = foo2(1);
- console.log(num1);
- var num2 = foo2(2);
- console.log(num2);
- // 每个函数调用都是一个新的作用域 每一个作用域下的闭包内部变量不互通
- var foo3 = foo();
- var num3 = foo3(3);
- console.log(num3);
- // function foo10(){
- // var a = 10;
- // console.log(a);
- // }
- // foo10();
- // foo10();
-
- </script>
- </body>
- </html>
|