今天爱分享给大家带来js 闭包构成 应用场景和实现代码 优点和缺点【面试题详解】,希望能够帮助到大家。
闭包是由什么构成
闭包=函数+词法作用域
词法作用域:即以变量声明定义的位置为参照,如果当前位置没有定义,就会访问父级定义的位置
广义上闭包: var a=1000; function fn1() { alert(a) } fn1()
平时工作中用到的闭包狭义上闭包:
1.函数内嵌套函数
2.子函数引用了父函数的相关变量
特点:长期驻留内存
闭包应用场景和实现代码
//求和
function makeAdd(x) {
return function(y) {
return x+y
}
}
//设置字号
function setFontSize(size) {
return function() {
do喂饭ent.body.style.fontSize=size+"px"
}
}
//循环表单
function makeHelp(help) {
return function() {
console.log(help)
do喂饭ent.querySelector('.help').innerHTML=help
}
}
function init() {
var userInfo=[
{id:'username',helpText:'请输入用户名'},
{id:'email',helpText:'请输入邮箱'},
{id:'address',helpText:'请输入地址'},
]
//动态绑定onfocus事件
for(var i=0;i
闭包优点和缺点
1.长期驻留内存,可以缓存数据
2.可以隔离作用域,避免全局污染
原文链接:https://blog.itblood.com/1431.html,转载请注明出处。 
![神器眼镜 V1.0.3 官方中文作弊完结版 [安卓+PC/3D/欧美SLG/中文/动态]](/wp-content/uploads/replace/2025/07/19/78b2640ed984523a319cf2b637f0ef36.webp)