C'è una differenza tra:Differenza tra IIFE e chiamare
(function(){
}).call(this);
e
(function(){
})();
o
var MODULE = {};
(function(){
this.hello = 'world'
}).call(MODULE);
e
var MODULE = {};
(function(m){
m.hello = 'world'
})(MODULE);
Spesso vedo il primo caso in javascript compilato. Entrambi creerebbero un ambito e faranno bene il loro lavoro sul namespace.
C'è qualche differenza o è solo una questione di gusti.
Modifica: E perché sarebbe stato compilato javascript utilizzare la chiamata su IIFE?
Che cosa si intende per "javascript compilato"? –
come coffescript, o lega per Titanium –
Dipende davvero da cosa 'questo' è al punto di chiamare; nella maggior parte dei casi non ci sarà alcuna differenza perché tutto il codice è incluso in esso. –