今天爱分享给大家带来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://itblood.website/1431.html,转载请注明出处。 
![暗黑地牢 官方中文版+荡欲扩展MOD+大量MOD[新整合][电脑/9.5G] [地牢探索SLG/中文/动态]](/wp-content/uploads/replace/2025/10/06/c4e948ec5a512069ab26b9577b6a6a89.webp)