Stavo guardando il codice per il underscore.js library (jQuery fa la stessa cosa) e volevo solo qualche chiarimento sul motivo per cui l'oggetto della finestra viene passato nella funzione autoeseguibile.Perché è necessario passare argomenti a una funzione autoesecutiva in javascript se la variabile è globale?
Ad esempio:
(function() { //Line 6
var root = this; //Line 12
//Bunch of code
}).call(this); //Very Bottom
Dal this
è globale, perché è di essere passato alla funzione? Anche il seguente lavoro non funzionerebbe? Quali problemi potrebbero arrischiare in questo modo?
(function() {
var root = this;
//Bunch of code
}).call();
a quanto pare è lo stesso, è possibile inserire il codice di sottolineatura js dove è fatto? – jxs
Non viene passato alcun argomento - 'call' viene usato per impostare' this' all'interno del callback. Tuttavia, non vedo perché questo sia necessario unicamente dal codice che hai pubblicato. – apsillers
La funzione inizia alla riga 6, la radice variabile viene declassata sulla riga 12 e quindi la chiamata si trova nella parte inferiore. L'intero file è una grande funzione. – KingKongFrog