2011-08-29 3 views
7
<script> 
    var sample = function() { 
     (function() { 
      return "something" 
     })(); 
     // how can I return it here again? 
    } 
</script> 

C'è un modo per restituire il valore restituito dalla funzione anonima nella funzione padre di nuovo o devo utilizzare una funzione definita per ottenere il valore restituito? Grazie! :)JavaScript - Ritorno dalla funzione anonima (varScope)

+0

Ok, sono stupido. Basta mettere il 'return' prima della funzione anonima e fatto. LOL. – headacheCoder

+0

Um, memorizza il risultato dell'autoesecuzione in una variabile, o semplicemente restituiscilo direttamente? – delnan

risposta

6

Basta inserire l'istruzione di reso nel punto in cui si chiama la funzione.

<script> 
    var sample = function() { 
     return (function() { // The function returns when you call it 
      return "something" 
     })(); 
    } 
</script> 
+0

@jAndy - No. È lo stesso di 'return confirm ('really?')'. La funzione viene chiamata e il suo valore di ritorno viene restituito a turno. Devi lasciare '()' off per restituire la funzione stessa. – Quentin