jquery源代码分析的问题(O_O)?

(function(global,factory){
}
);为什么要用括号把这个函数包起来,这最外面的括号是做什么用的????

});

要看上下文,括号一般用于函数参数
比如说一个函数,接收一个参数,这个参数是一个函数类型,那么可以直接用匿名函数。
比如

 $("divid").each(function(){
    alert($(this).text())
  });

这个each是一个函数,括号中是一个匿名函数,也可这么写

 function foo(){
    alert($(this).text())
}
$("divid").each(foo);

或者

 var foo = function(){
    alert($(this).text())
};
$("divid").each(foo);

是这个函数马上执行的意思。

执行匿名函数,也可以保护变量,防止变量相互污染

执行匿名函数用,匿名函数是作为外层对象的一个参数,所以要用小括号包起来

匿名函数 防止变量污染 一个js文件可以写多个块

完整的结构应该是这样的(jquery-1.11.1.js源代码):
(function(global, factory) {
//兼容CMD、AMD规范
//如果不是CMD、AMD环境,将jquery对象挂到global对象上
factory(global);
})(window, function(window, noGlobal) {
// jquery 实现逻辑
});


这个结构相当于:
var factory = function(window, noGlobal) {
// jquery 实现逻辑
};

var adapter = function(global, factory) {
//兼容CMD、AMD规范
//如果不是CMD、AMD环境,将jquery对象挂到global对象上
factory(global);
};

adapter(window, factory);