2013-09-22 17 views
7

stavo prendendo uno sguardo attraverso il bootstrap fonte JS e mi sono imbattuto in qualcosa che non ho mai visto prima:Bootstrap Dichiarazione di funzione

+function ($) { "use strict"; 
//... 
}(window.jQuery); 

Qual è il problema con il + di fronte alla dichiarazione di funzione? Serve a mitigare alcuni potenziali problemi di minimizzazione o qualcosa del genere?

Credo che mettere un + prima di un tipo di espressione converta il risultato dell'espressione in un numero, ma non vedo quale sarebbe la rilevanza di ciò.

Grazie per tutti coloro che possono far luce su questo per me.

risposta

8

Ciò significa che la dichiarazione di funzione è un'espressione di funzione, in modo che possa essere eseguita immediatamente.

Di solito questo è fatto mettendo tra parentesi intorno ad esso:

(function ($) { "use strict"; 
//... 
}(window.jQuery)); 

o:

(function ($) { "use strict"; 
//... 
})(window.jQuery); 
+0

Interessante, in modo che il + fondamentalmente "elabora" il codice che lo segue, che lo trasforma in un'espressione? Inoltre, presumo che non vi sia alcuna differenza tra l'uso del + prima della dichiarazione della funzione o l'inserimento di parentesi attorno ad esso (la dichiarazione di funzione)? – Adam

+0

@Adam: Sì, in entrambi i casi è solo per mantenere la sintassi da una normale definizione di funzione, e in entrambi i casi il risultato dell'intera espressione (cioè il valore restituito dalla funzione) viene ignorato. – Guffa

Problemi correlati