12345678910111213141516171819202122232425262728293031323334 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <!--
- 1、如何产生闭包?
- *当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,
- 就产生了闭包
- 2、闭包到底是什么?
- *使用Chrome调试查看
- *理解一:闭包是嵌套的内部函数(绝大部分人)
- *理解二:包含被引用变量(函数)的对象(极少数人)
- *注意:闭包存在于嵌套的内部函数中
- 3、产生闭包的条件?
- *函数嵌套
- *内部函数引用了外部函数的数据(变量/函数)
- -->
- <script>
- function fn1(){
- var a =2
- var b = 'abc'
- function fn2(){ //执行函数定义就会产生闭包(不用调用内部函数)
- console.log(a)
- }
- }
- fn1()
- </script>
- </body>
- </html>
|