我注意到jQuery源代码在其库包装技术方面有一些变化。据我记得,在1.4版本中,他们使用了以下库包装方式:
(function(...){
var jQuery = function(){
// some code
}
// other code
})(...);
现在在1.6.x中:
(function(...){
var jQuery = (function(){
var jQuery = function(){
// some code
}
// other code
return jQuery;
})();
})(...);
只是一个想法,有没有人知道这些变化(包装技术)的好处是什么?
var jQuery
基本上允许您拥有私有变量。我认为除非您调用它,否则不会初始化第二个jQuery
中的任何内容,但我对此并不完全确定。我知道第一个jQuery
调用允许内部内容在您return
它之前保持私有。 - SethjQuery
被初始化,它将第二个jQuery
作为结果返回。所以我认为第一个代码比第二个更直接,而且想知道其中的好处,因为对我来说,每个代码都必须有其背后的原因... :) - Habib Rosyad