2013-07-23 14 views
6

Sto guardando il codice di qualcun altro e sto cercando di capirlo. Hanno un nome di funzione chiamata circondato tra parentesi:Cosa significano le parentesi attorno al nome della funzione?

myButton.onclick = (myFunction)(a, b, c); 

è la differenza rispetto:

myButton.onclick = myFunction(a, b, c); 

edit:

Giusto per aggiungere più contesto, la funzione myFunction ha la seguente forma:

myFunction = function(a, b, c) { 
    return function() { 
     // do something with a, b, and c 
    } 
} 
+5

U significa parentesi destra? – aaronman

+3

Ciò che viene invocato sarà il valore di ritorno di '()' che circonda il nome della funzione. Non avrà alcun impatto nel tuo esempio, ma potrebbe essere se stai prendendo la funzione da un oggetto * (noto anche come metodo) *. In tal caso, la funzione è disgiunta dall'oggetto, quindi il valore 'this' sarà il valore predefinito. Quindi 'foo.myFunction()' è probabilmente diverso da '(foo.myFunction)()'. –

+3

Parentesi quadre: '[]', parentesi graffe/parentesi graffe: '{}', parentesi angolari: '< >', Parentesi: '()'. – Shaz

risposta

3

Non c'è differenza.

Fanno e significano la stessa cosa.

Problemi correlati