请教jquery源码 CallBacks一个小问题

vuturn 2015-06-23 09:25:32
          add: function() {
if ( list ) {
// First, we save the current length
var start = list.length;
(function add( args ) {
jQuery.each( args, function( _, arg ) {
var type = jQuery.type( arg );
if ( type === "function" ) {
if ( !options.unique || !self.has( arg ) ) {
list.push( arg );
}
} else if ( arg && arg.length && type !== "string" ) {
// Inspect recursively
add( arg );
}
});
})( arguments );




这是Callbacks self对象里面的add函数,我不明白为什么这里要使用闭包自执行,我感觉完全没有必要,我的理由是:

1.使用了之后,作用域变长了,因为要调用list数组和options,这个是更外层Callbacks函数的变量。

2.不用闭包也不会向全局作用域里增加变量,完全没有必要使用闭包自执行啊

求解惑!
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vuturn 2015-06-24
  • 打赏
  • 举报
回复
没人回答吗?
vuturn 2015-06-23
  • 打赏
  • 举报
回复
应该是匿名自执行
vuturn 2015-06-23
  • 打赏
  • 举报
回复
没人来回答吗!!!!!

87,972

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧