jquery源碼分析(1)LIFE函數
阿新 • • 發佈:2019-03-13
efi 如果 fine com define http code str ...
這次學習 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 ) {})
jquery源碼分析(1)LIFE函數