对函数定义与执行时机的理解

在学习闭包时,有一个很经典的例子。对这个例子的理解可以从闭包角度,但也要加上函数的知识。
对函数定义和执行时机的理解
给一个变量赋于函数定义时只是将函数定义的代码片段的引用赋予变量,即将函数定义代码块的指针赋予变量,并没有实际运行函数代码块。在执行这个函数时才运行,这就导致后面运行时,i的值已经发生变化,变成10,n也就赋值为10,函数返回10.

var arr =[]

    for (var i=0;i<10;i++){
        arr[i] = function () {
            var n=i
            return n
        }
    }
    function () {
            var n=i
            return n
        }
        arr[2]()//10
        ```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容