我见过一些 jQuery 插件代码
其中之一是重载 jQuery 中的 addClass 方法(例如:当您 addClass 时 - 调用 myfunction ())。
(function(){
var originalAddClassMethod = jQuery.fn.addClass;
jQuery.fn.addClass = function(){
// Execute the original method.
originalAddClassMethod.apply( this, arguments );
// call your function
// this gets called everytime you use the addClass method
myfunction();
}
})();
我不明白的事情:
他为什么要创建一个闭包?
我可以在普通函数内使用 var
的私有(private)成员,并且它仍然仅对本地范围可见......所以?
你能给我解释一下吗?
他从这次关闭中赚到了什么?
如果他向函数发送 $
符号,我就会理解...但他没有
最佳答案
我认为添加了闭包,以便变量originalAddClassMethod
不在全局作用域(或父作用域)中定义,并且对插件来说是私有(private)的。
你说:
I could use a private members inside a normal func with the var and it still be visible to the local scope only.
这正是这里所做的:该函数是匿名的,但仍然“正常”。
关于Jquery插件语法解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293779/