2_块级作用域.html 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <ul>
  10. <li>1</li>
  11. <li>2</li>
  12. <li>3</li>
  13. <li>4</li>
  14. <li>5</li>
  15. <li>6</li>
  16. </ul>
  17. <script>
  18. var aLi = document.getElementsByTagName('li');
  19. for(let i=0;i<aLi.length;i++){
  20. // aLi[i].index = i;
  21. aLi[i].onclick = function(){
  22. console.log(i);
  23. }
  24. }
  25. // var a = 10;
  26. // function foo(){
  27. // console.log(++a);
  28. // }
  29. // foo();
  30. // foo();
  31. // 闭包 当出现多重作用域嵌套时候,内部函数调用外部函数的局部变量 变量就不会被释放
  32. function foo(){
  33. var a = 10;
  34. function foo2(){
  35. console.log(++a);
  36. }
  37. return foo2;
  38. }
  39. var f = foo();
  40. f();
  41. f();
  42. </script>
  43. </body>
  44. </html>