我已經閱讀了很多關于這個主題的內容,但我仍然不清楚......如果 IIFE 完全是關于隱私(//+不污染全局名稱空間...//),那么為什么我可以使用函數參數訪問 IIFE 變量?結果將顯示 1200。所以不,我知道“a”是 200,所以我訪問了它。這背后的邏輯是什么?如果每個人都說我不能,為什么我可以訪問該變量?(sum=function(b){ var a= 200; return a+b;})();console.log(sum(1000)); //1200 console.log(a); //error as expected第2部分:如果一個IIEF一旦被調用就消失了,那為什么我可以執行多次?(sum=function(){ console.log("random text");})();sum(); /*this can relaunch the function even "iief is only used once" + I can do that multiple timessum(); //'random text' 'random text' ...第 3 部分:為什么當我為 IIEF 命名時可以重新啟動代碼段?我到處讀到,IIFE 只使用一次……一旦它們啟動,它們就消失了……(function sum(){ console.log("random text");})();sum(); //I can execute the IIEF as many times as I wish however I shouldn't be able to
如果無法訪問任何變量,那么為什么我可以通過函數訪問它?
偶然的你
2022-05-26 11:15:42