wzf7065 发表于 2013-1-29 08:52:24

JavaScript的闭包的相关问题

最近在学习《JavaScript高级程序设计》,其中关于闭包的两个例子,我照着书中的例子运行时,浏览器不打印也不报错,由于我是初学,才疏学浅,发现createFunctions()的循环不太对,但也没有调试成功,现在贴出来,还望大家共同讨论,各抒己见。
   下面我把两个例子贴出来,希望有兴趣的朋友能够回复,看看是什么原因造成的:
   例子1:
<html>
<head>
<title>对象</title>
</head>
<script type="text/javascript">

function createFunctions(){
    var result = new Array();
    for(var i=0;i<10;i++){
      result = function(){
            return i;         
      };
    }
    return result;
}

var funcs = createFunctions();

//分别输出0、1、2……9
for(var i=0;i<funcs.lenght;i++){
    document.write(funcs() + "<br/>");
   
}

</script>
<body>
</body>
</html>


例子2:
<html>
<head>
<title>对象</title>
</head>
<script type="text/javascript">

function createFunctions(){
    var result = new Array();
    for(var i=0;i<10;i++){
      result = function(num){
      return function(){
      return num;
      };
      }(i);
    }
    return result;
}

var funcs = createFunctions();

//分别输出0、1、2……9
for(var i=0;i<funcs.lenght;i++){
    document.write(funcs() + "<br/>");
}

</script>
<body>
</body>
</html>
页: [1]
查看完整版本: JavaScript的闭包的相关问题