javaScript闭包

javaScript闭包:
闭包就是能够读取其他函数内部 变量的函数,由于在js语言中,只有函数内部的子函数才能读取局部变量。因此可以把闭包简单的理解成定义在一个函数内部的函数.所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁.

什么是闭包:
闭包的模式: 函数模式的闭包 对象模式的闭包
闭包的作用: 缓存数据, 延长作用域
闭包的优点和缺点: 缓存数据(有缓存 把数据存下来 可以继续用 但是如果你一直不释放这个数据 最终内存会爆掉)

函数模式的闭包:
function fn() {
var num = 10;
return function () {
return num;
}

   fn2();
 }

 var ff = fn();
 console.log(ff());

对象模式的闭包:
function fn() {
var num = 10;
return {
age: num
}
}

 var obj = fn();
 console.log(obj.age);

=============================================>
使用闭包 产生多个相同的随机数
思路: 把 生成的随机数缓存下来 一致调用输出
function fn() {
var num = Math.floor(Math.random() * 10 + 1);
return function () {
return num;
}
}

 var res = fn(); // 7
console.log(res());
 console.log(res());
console.log(res());
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值