js闭包

JavaScript的闭包看到网上都写得比较复杂,其实很简单,无非就是执行函数中的函数,比如


function person(){

     return function(){

return "cat";

}

}


这个就是再简单不过的闭包了


使用闭包可以让变量永驻内存中,比如累加操作,普通的做法是


var age = 10;


function add() {

    age ++;

    return age;

}

alert(add());

alert(add());

alert(add());

alert(add());


如果使用闭包的话可以这样做


function addBi() {

     var age = 10;

     return function(){

age ++;

        return age;

    }

}


var out = addBi();

alert(out());

alert(out());

alert(out());

alert(out());


此时 out()   相当于


     var age = 10;

     return function(){

age ++;

        return age;

    }



out();相当于再执行  内部的函数


b = null;    // 解除引用


闭包会暂用较大的内存,一般情况下不建议使用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值