我已经阅读了很多关于这个主题的内容,但我仍然不清楚......
如果 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 times
sum(); //'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
繁星点点滴滴
德玛西亚99
相关分类