js基础知识整理之 —— 闭包

闭包的概念: 函数执行都会形成一个私有作用域 保护里面定义的私有变量不受外界干扰,这种保护机制 叫做闭包

但是现在很多的IT开发者认为:函数执行,形成一个不销毁的私有作用域,除了保护私有变量以外,还可以存储一些内容,这样的模式才是闭包

如何写一个闭包
js基础知识整理之 —— 闭包_第1张图片
闭包作用:
1、保护 团队协作开发 每个开发者把自己的代码存放在一个私有的作用域中,防止相互之间的冲突
把需要供别人使用的方法 通过return或者window.xxx暴露在全局下即可;
jQuery源码中也是利用保护机制实现的
js基础知识整理之 —— 闭包_第2张图片
2、保存 eg:选项卡 的闭包解决方法
单例模式(JS高阶编程技巧:惰性思想/柯理化函数思想…)
js基础知识整理之 —— 闭包_第3张图片
在add私有作用域中 将上级(全局)的num变量 修改为110
私有作用域可以修改上级作用域中的变量
全局不能改私有的(因为作用域链只会往上找不会向下级找)

js基础知识整理之 —— 闭包_第4张图片
如果要先修改私有作用域的值 必须通过 它的下级修改

fe 里面返回的内部函数—> 也认为是闭包
js基础知识整理之 —— 闭包_第5张图片

你可能感兴趣的:(js,javascript,开发语言,js)