Я так много читал об этой топике c, но мне все еще неясно ...
Если IIFE все о конфиденциальности (// + не загрязняет глобальное пространство имен ... // ) тогда почему я могу получить доступ к переменной IIFE, используя аргумент функции? В результате будет показано 1200.
Так что нет, я знаю, что «а» - это 200, поэтому я получил к нему доступ. Что за логика c за этим стоит? Почему я могу получить доступ к этой переменной, если все говорят, что я не могу?
(sum=function(b){
var a= 200;
return a+b;
})();
console.log(sum(1000)); //1200
console.log(a); //error as expected
Часть 2: если IIEF пропал после его вызова, то почему я могу выполнить его столько раз, сколько я sh?
(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