函数 闭包

function getSum(arr){
        var sum =  function(){
            return arr.reduce(function(x,y){
                return x+y;
            });
        }
        return sum;
    }
    var f = getSum([1,2,3,4,5]);
    console.log(f)
f()   //15

在这个例子中,我们在函数getSum中又定义了函数sum,并且,内部函数sum可以引用外部函数getSum的参数和局部变量,当getSum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)

返回闭包时,牢记一点就是:---返回函数不要引用任何循变量,或者后续会发生变化的变量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容