ÈÕÖ¾¼Í¼ÎÊÌâ
½â¾ö¼Æ»®£ºÊ¹ÓÃÈÕÖ¾¼Í¼¿â£¨ÈçWinston¡¢Log4jsµÈ£©À´ÖÎÀíÈÕÖ¾ÐÅÏ¢£¬È·±£ÈÕÖ¾»¨Ñùͳһ¡¢¿É×·×Ù¡£ÔÚIIFEÖÐʹÓÃÊʵ±µÄÈÕÖ¾¼¶±ðÀ´¼Í¼Ҫº¦²Ù×÷¡£
(function(){varlogger=require('winston');functionlogOperation(message){logger.info(message);}logOperation("IIFEoperationstarted");})();
¶¯Ì¬¼ÓÔØÎÊÌâ
½â¾ö¼Æ»®£ºÊ¹Óö¯Ì¬¼ÓÔØ¿â£¨ÈçRequire.js¡¢WebpackµÈ£©À´ÖÎÀíÄ£¿é¼ÓÔØ¡£È·±£ËùÓÐÒÀÀµÔÚ¼ÓÔØÇ°ÒѾ׼±¸ºÃ¡£
(function(){varrequire=require.config({paths:{'module':'path/to/module'}});require('module',function(module){module.execute();});})();
µ÷ÊÔÎÊÌâ
½â¾ö¼Æ»®£ºÊ¹ÓÃä¯ÀÀÆ÷¿ª·¢Õß¹¤¾ßÖеĶϵãµ÷ÊÔ¹¦Ð§£¬ÔÚIIFEÄÚ²¿ÉèÖöϵ㣬²¢Ê¹ÓÃconsole.logÊä³öµ÷ÊÔÐÅÏ¢¡£ÔÚIIFEÍⲿŲÓÃIIFE£¬¿ÉÒÔ×ÊÖú¸üºÃµØÓß½âÆäÖ´ÐÐÁ÷³Ì¡£
(function(){varmessage="DebuggingIIFE";console.log(message);if(message==="DebuggingIIFE"){thrownewError("Testerrorfordebugging");}})();
ÔÚJavaScript±à?³ÌÖУ¬Á¢¼´Ö´Ðк¯Êý±í´ï?ʽ£¨IIFE£©ÊÇÒ»ÖÖºÜÊÇÓÐÓõŤ¾ß£¬ËüÔÊÐíÎÒÃÇÔÚº¯Êý´´Á¢Ê±Á¢¼´Ö´ÐУ¬²¢?ÔÚÖ´ÐÐÀú³ÌÖд´Á¢Ò»¸öеÄ?×÷ÓÃÓò¡£HLW091.IIFEÊÇÆäÖÐÒ»ÖÖ³£¼ûµÄʵÏÖ·½·¨¡£¾¡¹ÜËüºÜÊÇ?ÓÐÓ㬵«ÔÚʵ¼ÊʹÓÃÖУ¬¿ª·¢Õß³£³£»áÓöµ½Ò»Ð©³£¼ûÎÊÌâ¡£
±¾²¿·Ö½«Ïêϸ½éÉÜÕâЩ³£¼ûÎÊÌâ¼°Æä½â¾ö¼Æ»®£¬×ÊÖú¿ª·¢Õ߸üºÃµØÕÆÎÕHLW091.IIFEµÄʹÓá£
º¯ÊýÒÀÀµÎÊÌâ
½â¾ö¼Æ»®£ºÔÚ½ç˵IIFE֮ǰ£¬È·±£ËùÓÐÒÀÀµº¯ÊýÒѾ±»½ç˵£¬»òÕßÔÚIIFEÖÐʹÓÃtypeof¼ì²éº¯ÊýÊÇ·ñÒѽç˵¡£
functionexternalFunction(){console.log("Externalfunctioncalled");}(function(){if(typeofexternalFunction==='function'){externalFunction();}else{console.error("Externalfunctionisnotdefined");}})();
consthlw091=(function(){letdataList=;functionprocessBatch(list){list.forEach(item=>{//´¦Àíÿ¸öÊý¾ÝÏî});}return{addItem:function(item){dataList.push(item);if(dataList.length>=10){processBatch(dataList);dataList=;}}};})();
ͨ¹ýÒÔÉϼ¸¸ö·½ÃæµÄ½â¾ö¼Æ»®£¬Äú¿ÉÒÔ¸üºÃµØÊ¹ÓÃhlw091.iifeÄ£¿é£¬ÌáÉý´úÂëµÄ¿Éά»¤ÐÔ¡¢ÐÔÄܺÍÄþ¾²ÐÔ¡£ÎÞÂÛÊÇÐÂÊÖÕÕ¾É×ÊÉ·¢Õߣ¬ÕâЩ½¨Òé¶¼½«ÎªÄúµÄÏîÄ¿¿ª·¢ÌṩÓÐÁ¦µÄÖ§³Ö¡£
Òª½â¾öÕâÒ»ÎÊÌ⣬¿ÉÒÔ½ÓÄÉÒÔϼ¸ÖÖÒªÁ죺
ʹÓ÷µ»ØÖµ£ºÔÚIIFEÖнç˵ËùÐèµÄ±äÁ¿£¬²¢Í¨¹ýº¯Êý·µ»ØÖµµÄ·½·¨½«ÕâЩ±äÁ¿Ì»Â¶¸øÍⲿ¡£ÀýÈ磺consthlw091=(function(){letprivateVar='ÎÒÊÇ˽ÓбäÁ¿';return{getPrivateVar:function(){returnprivateVar;}};})();console.log(hlw091.getPrivateVar());//Êä³ö£ºÎÒÊÇ˽ÓбäÁ¿Ê¹ÓùûÕæ½Ó¿Ú£ºÍ¨¹ýÌṩһ×é¹ûÕæµÄÒªÁì½Ó¿Ú£¬¿ØÖƶÔÄÚ²¿±äÁ¿µÄ»á¼û¡£
У¶Ô£ºÀîСÃÈ(1C0m4pJyqZtPma0S7t9ZFfz4hTykKag)


