对 js 的闭包还是很迷惑?第一个用闭包了吗?

2017-04-03 23:34:37 +08:00
 yantianqi
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <script>
    var lis = document.getElementsByTagName('li');
    for(var i=0; i<lis.length; i++) {
      (function(i) {//这里用闭包了吗?
        lis[i].onclick = function(e) {
          console.log(i);
        }
      })(i)
    }

    for(var i=0; i<5; i++) {
      (function() {
        console.log(i)//输出 0,1,2,3,4
      })()
    }
  </script>
</body>
</html>
4177 次点击
所在节点    程序员
22 条回复
solobat
2017-04-04 19:00:19 +08:00
看自由变量
ChristopherWu
2017-04-05 13:51:42 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352364

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX