<html>
<head>
<script src="TestClosure.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
</head>
<body>
  <input id="btnTest1" onclick='Action1()' type="button" value="利用闭包累加" />
  <span id="lblScore">0</span>
</body>
</html>

解决方案 »

  1.   

    function Test1(){
        var i=0;
        function child(){
            var _lblScore=document.getElementById('lblScore')
            _lblScore.innerHTML=++i;
            }
          return child;
        }
    var Action1 = Test1();//注意,Test1并没有被释放,局部变量i在不停的累加
    //闭包创建的步骤:
    //1.Test1嵌套child;
    //2.child引用Test1的变量;
    //3.从Test1的外部引用child
      

  2.   

    var i = 0;
    function test(){
        document.getElementById('lblScore').innerHTML=++i;
    }那这样又算不算闭包呢?
      

  3.   

    http://www.blogjava.net/mxx/archive/2006/10/29/77919.html
    介绍函数作用域与闭包