关于javascript中闭包的理解

来源:互联网 发布:好看的日本电网络视剧 编辑:程序博客网 时间:2024/06/07 09:41
/*闭包就是能够读取其他函数内部变量的函数, 在js中也可以简单地理解成定义在一个函数内部的函数。
在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
闭包的最大用处有两个,一个是读取函数内部的变量,另一个是让这些变量的值始终保持在内存中*/



/*function a(){
var n=0;
function inc(){
n++;
console.log(n);
}
inc();
inc();
}
a();*/

/*function a(){
var n=0;
this.inc = function(){
n++;
console.log(n);
};
}

var c = new a();
c.inc();
c.inc();*/

function a(){
var n =0;
function inc(){
n++;
console.log(n);
}
return inc;
}
var c =a();
c();
c()




/************************************************************/


function create_counter(initial) {
var x =initial || 0;
return {
inc: function () {
x += 1;
return console.log(x);
}
}
}
// var c1 = create_counter();
create_counter.inc();// 1
create_counter.inc();// 2
create_counter.inc();// 3

var c2 =create_counter(10);
c2.inc();// 11
c2.inc();// 12
c2.inc();// 13



/****************************************************/



'use strict';
// 定义数字0
var zero =function(f){
    return function(x){
        return x;
    }
};

// 定义数字1;
var one=function(f){
    return function(x){
        return f(x);
    }
};

// 定义加法;
function add(n,m){
    return function(f){
        return function(x){
            return m(f)(n(f)(x));
        }
    }
}

console.log(add(one,one));


/***********************************/
最后用‘斐波那契数列’来帮助理解闭包原理

function fib(max){
    var t,a=0,b=1,arr=[0,1];
    while(arr.length<max){
        t=a+b;
        a=b;
        b=t;
        arr.push(t);
    }
    return arr;
}
console.log(fib(5));
console.log(fib(10));


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果7p玩游戏卡怎么办 三星玩游戏很卡怎么办 三星打游戏很卡怎么办 香水喷到眼睛里怎么办 萍果平板锁机怎么办? 苹果6开机卡死怎么办 辐射4发夹用完了怎么办 辐射4多的武器怎么办 大姨妈恶心想吐怎么办 玩完游戏想吐怎么办 玩完了海盗船想吐怎么办 戴眼镜恶心想吐怎么办 玩电脑恶心想吐怎么办 玩游戏玩的头疼怎么办 玩游戏头疼想吐怎么办 游戏玩久了头疼怎么办 有3d眩晕症怎么办 玩游戏晕3d怎么办 梦幻西游亏的钱怎么办 普惠卡销户了钱存进去了怎么办 梦幻西游现金变储备了怎么办 孩子挣了钱存不下怎么办 电脑显示副本不是正版怎么办 斗战神师徒一个人删除角色怎么办 起业kx5防盗器不响怎么办 灌浆记录仪存盘满了怎么办 自首后发现无罪证据怎么办 中国劲酒过期了怎么办 玻尿酸流到眼皮怎么办 手指被胶带缠紫了怎么办 打玻尿酸不平整怎么办 孩子被老师体罚我该怎么办 孩子妈妈入狱了我该怎么办 机顶盒电视收不到台怎么办 跳芭蕾舞下面硬起来了怎么办 深情密码结局赵深深怎么办 宝宝头着地摔了怎么办 小孩头着地摔了怎么办 头朝下墩了脖子怎么办 两岁摔倒头着地怎么办 马桶大便冲不下去怎么办