`

循环中闭包

阅读更多

 

<script type="text/javascript">
        function aa(){
            var a = [];
            var i;
            for (i = 0; i < 3; i++) {
                a[i] = function(){
                    return i;
                };
                
            }
            return a;
        }
        
        var fun = aa();
        alert(fun[0]()); //ouput 3
        alert(fun[1]()); //ouput 3
        alert(fun[2]()); //ouput 3
    </script>
    <script type="text/javascript">
        function aa(){
            var a = [];
            var i;
            for (i = 0; i < 3; i++) {
                a[i] = (function(x){
                    return x;
                })(i);
                
            }
            return a;
        }
        
        var fun = aa();
        alert(fun[0]); //ouput 0
        alert(fun[1]); //ouput 1
        alert(fun[2]); //ouput 2
    </script>
    <script type="text/javascript">
        function aa(){
            var a = [];
            var i;
            function n(x){
                return x;
            }
            for (i = 0; i < 3; i++) {
                a[i] = n(i);
                
            }
            return a;
        }
        
        var fun = aa();
        alert(fun[0]); //ouput 0
        alert(fun[1]); //ouput 1
        alert(fun[2]); //ouput 2
    </script>

 

分享到:
评论

相关推荐

    浅谈JavaScript for循环 闭包_.docx

    浅谈JavaScript for循环 闭包_.docx

    采用自执行的匿名函数解决for循环使用闭包的问题

    主要介绍了采用自执行的匿名函数解决for循环使用闭包的问题,很简单,但比较实用,需要的朋友可以参考下

    详解Python循环作用域与闭包

    主要介绍了Python循环作用域与闭包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    for循环_作用域_闭包.html

    for循环_作用域_闭包.html

    动态循环给onclick赋值(解决闭包问题)

    很完整的一个动态循环给onclick赋值的小例子,解决闭包问题,希望对你会有帮助,呵呵

    浅谈JS闭包中的循环绑定处理程序

    (PS:之前也在《jQuery基础教程》第四版中看过讲循环绑定处理程序的内容,当时估计也没怎么用心看,所以没记起来。)  大神要是知道这类情况,可以关掉窗口,写这些主要是给像我一样的小白看的。谢谢!  先贴上...

    MATLAB 语言中的闭包:MATLAB 语言中的闭包演示-matlab开发

    有很多很多项,您无法负担一次计算所有项、存储它们并在循环中对它们进行操作的空间。 但是您有足够的时间和 CPU 处理能力。 您可以创建一个类似于 makeIncrementer(在附加示例中)的函数,它会记住它在序列中的...

    js高级函数之闭包

    js高级中的函数之闭包函数全解与应用场景(循环闭包,定时器,面试题)

    javascript循环变量注册dom事件 之强大的闭包

    } 结果出现了问题,所有的dom都被注册了 i=n 的时候的事件,查了一些资料,说是在循环过程过this被改变,注册过的事件也被随之改变,找到了一种解决方法; 代码如下: for (var i=0; i&lt;n; i++) { (function (i){...

    浅谈JavaScript for循环 闭包

    下面小编就为大家带来一篇浅谈JavaScript for循环 闭包。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Swift中优雅处理闭包导致的循环引用详解

    主要给大家介绍了关于Swift中优雅的处理闭包导致的循环引用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Swift具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    深入理解ES6中let和闭包

    本文介绍了深入理解ES6中let和闭包,分享给大家,具体如下: 在开始本文之前我们先来看一段代码 for(var i=0;i&lt;10;i++){ arr[i]=function(){ return i; } } console.log(arr[3]());//10 显然这段代码输出10,...

    JS中批量给元素绑定事件过程中的相关问题使用闭包解决

    在JS中,你写一个for循环的时候,内部的循环变量I其实是会保存在它运行的函数或类内的,所以你会发现你给元素批量绑定事件的时候,出现i=最后一个循环变量的值,这就很坑爹啊,解决的方案有2钟, 思路就是:把这个...

    浅谈js 闭包引起的内存泄露问题

    在js闭包中,可以定义“局部变量”,但是外部去调用的话,尤其是反复调用赋值,会造成内存的大量开销。如何防止这种现象的发生?关于闭包还有没有类似的内存或效率问题需要注意?如何去规避? 内存问题可能是如下...

    javascript闭包传参和事件的循环绑定示例探讨

    今天看到一个javascript的题目,按常理循环绑定事件,但是得到的结果却不是想要的。 代码如下: &lt;a&gt;text&lt;/a&gt; &lt;a&gt;link&lt;/a&gt; [removed] var as = document.getElementsByTagName(‘a’); for ( var i = as.length; ...

    模糊关系的非循环性

    通过讨论模糊关系的非循环性。研究内容包括一个模糊关系及其严格部分在一个t...在对模糊关系R的严格部分PR的非循环性的讨论中,主要给出了R的T-非循环性与PR的T-非循环性之间的关系以及PR的T-非循环性的一些等价命题。

Global site tag (gtag.js) - Google Analytics