这次学习 jQuery 源码,基于当前最新的版本,3.3.1,源码地址:jquery
先说一下LIFE函数;LIFE函数其实方法挺多的,CODE如下
(function(){...})()
!function foo(){...}();
+function foo(){...}();
void function() {...}();
var a = function(){...}();
但是在jquery中的立即执行或许比较迷惑(反正我是迷惑了)
( function( global, factory ) {
"use strict";
if ( typeof module === "object" && typeof module.exports === "object" ) {
module.exports = global.document ?
factory( global, true ) :
function( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
};
} else {
factory( global );
}
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {})
看了上面的代码,我决定在精简一下
( function( global, factory ) {
"use strict";
factory( global );
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {})
在实际插入一下看看,这是我的理解,如果错了请大神指出
( function( global, factory ) {
"use strict";
//factory( global );
var factory = function( window, noGlobal ) {})( typeof window !== "undefined" ? window : this);
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {})