08.理解闭包.html 1.1 KB

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