美文网首页
js---立即执行函数及闭包

js---立即执行函数及闭包

作者: lewis2017 | 来源:发表于2019-08-28 15:01 被阅读0次

讲解透彻:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

每个闭包都有它自己的词法环境,闭包内多个函数,共享一个环境,该共享环境创建于一个立即执行的匿名函数体内
、、、
var Counter = (function() {
var privateCounter = 0;
function changeBy(val) {
privateCounter += val;
}
return {
increment: function() {
changeBy(1);
},
decrement: function() {
changeBy(-1);
},
value: function() {
return privateCounter;
}
}
})();

console.log(Counter.value()); /* logs 0 /
Counter.increment();
Counter.increment();
console.log(Counter.value()); /
logs 2 /
Counter.decrement();
console.log(Counter.value()); /
logs 1 */
、、、
由上创建的两个计数器,请注意两个计数器 Counter1 和 Counter2 是如何维护它们各自的独立性的。每个闭包都是引用自己词法作用域内的变量 privateCounter ,每次调用其中一个计数器时,通过改变这个变量的值,会改变这个闭包的词法环境。然而在一个闭包内对变量的修改,不会影响到另外一个闭包中的变量。

相关文章

  • js---立即执行函数及闭包

    讲解透彻:https://developer.mozilla.org/zh-CN/docs/Web/JavaScr...

  • 闭包及立即执行函数

    闭包 你不需要知道闭包,依然可以把js用得很溜 把基础搞清楚,闭包自然就理解了 变量的生命周期 默认作用域消失时,...

  • 理解闭包

    什么是「闭包」。 「闭包」的作用是什么。在一个立即执行函数当中: 首先,假设以上几行代码运行在立即执行函数当中,那...

  • es5核心技术

    立即执行函数 函数提升和变量提升 闭包 this 原型链实现继承

  • javascript立即执行函数和闭包

    闭包 概念:当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链举例分析: 闭包的应用: 立即执行函数 ...

  • 闭包、立即执行函数闭包、BOM

    题目1: 下面的代码输出多少?修改代码让 fnArr[i]()输出i。使用 两种以上的方法 改写1 改写2 题目2...

  • 闭包_定时器

    闭包的作用是:暴露局部函数立即执行函数 ==> 闭包 下面的代码输出多少?修改代码让 fnArri 输出 i。使用...

  • 闭包的作用及立即执行函数

    闭包的作用 1.实现共有变量eg:函数累加器 2.可以做缓存结构(存储结构)eg:eater 3.可以实现封装,属...

  • IIFE(Immediately-invoked functio

    一、立即执行函数五花八门的写法: 二、立即执行函数与闭包的暧昧关系 像普通的函数传参一样,立即执行函数也能传参数。...

  • 立即执行函数和闭包

    立即执行函数: 一、计时器 一次性定时器 setTimeOut(function(){ //1秒后执行 },100...

网友评论

      本文标题:js---立即执行函数及闭包

      本文链接:https://www.haomeiwen.com/subject/jlopectx.html