JS的闭包

定义

闭包是指有权访问另一个函数作用域中的变量的函数。

理解

函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。

示例

求一组array的和

普通写法

		var arr = [1,2,3,4,5,6,7,8,9];
        var reduce = arr.reduce(function (x,y) {
            return x+y;
        });
        console.log(reduce);

改写成闭包

		function sum(arr) {
            var sum1 = function () {
                return arr.reduce(function (x, y) {
                    return x+y;
                })
            };
            return sum1;
        }
        //sum([1,2,3,4,5,6,7,8,9]);
        var message =sum([1,2,3,4,5,6,7,8,9]);
        console.log(message());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值