什么情况下才会使用闭包?javascript 10
你们项目中什么情况下会用到闭包呢??麻烦不要把闭包原理这些复制粘贴进来哈,谢谢,我只是想知道你们在项目中什么情况下会用到闭包就行来了...
你们项目中什么情况下会用到闭包呢??
麻烦不要把闭包原理这些复制粘贴进来哈,谢谢,我只是想知道你们在项目中什么情况下会用到闭包就行来了 展开
麻烦不要把闭包原理这些复制粘贴进来哈,谢谢,我只是想知道你们在项目中什么情况下会用到闭包就行来了 展开
1个回答
展开全部
只要一个作用域通过某种手段持有了另一个作用域声明的变量或成员(也即存在未销毁的局部变量),这个变量或成员就叫做“闭包”。
用到的情况太多了,JS 对闭包的支持本来就算是它的一个语言特性,随便写写就会出现闭包,你自己写的代码里就会大量的出现闭包(不管你意识没意识到)。
还是举一例吧,拿著名的 jQuery 举例子:
Sizzle.selectors = {
match: matchExpr,
filter: {
"ID": function( id ) {
var attrId = id;
return function( elem ) {
return elem.id == attrId;
};
},
"TAG": function( nodeNameSelector ) {
var nodeName = nodeNameSelector;
return nodeNameSelector === "*" ?
function() { return true; } :
function( elem ) {
return elem.tagName && elem.tagName === nodeName;
};
}
}
}
这种 jQuery 源码中选择器的一段代码(太长未粘全),里面 attrId、nodeName 两个局部变量就是闭包。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询