Ho visto questa sintassi su alcune librerie ora e mi chiedo quale sia il vantaggio. (nota che sono ben consapevole delle chiusure e di ciò che il codice sta facendo, sono preoccupato solo per le differenze sintattiche)
!function(){
// do stuff
}();
In alternativa al più comune
(function(){
// do stuff
})();
per funzioni anonime auto invocanti.
Mi chiedo alcune cose. Prima di tutto, cosa sta permettendo all'esempio principale di funzionare davvero? Perché il botto è necessario per rendere sintatticamente corretta questa affermazione? Mi è stato anche detto che +
funziona, e sono sicuro che alcuni altri, al posto di!
Secondo, qual è il vantaggio? Tutto quello che posso dire è che salva un singolo personaggio, ma non riesco a immaginare che sia un enorme vantaggio per attirare numerosi utenti. C'è qualche altro vantaggio che mi manca?
L'unica altra differenza che posso vedere sarebbe il valore di ritorno della funzione auto-invocante, ma in entrambi questi esempi, non ci interessa davvero il valore di ritorno della funzione poiché viene utilizzato solo per creare una chiusura. Quindi qualcuno può dirmi perché si potrebbe usare la prima sintassi?
!
in cui sottolinea che viene eseguito.