2013-06-05 11 views
18

Questa è una versione semplificata di ciò che sto cercando di realizzare, ma voglio passare una variabile al di fuori dell'ambito della funzione. Sto dichiarando la variabile al di fuori della funzione ma non riesco a ottenerla.Access variable outside function scope

HTML:

<p>5</p> 
<p>6</p> 
<p>7</p> 

JS:

$(document).ready(function() { 
    var gsd = ""; 
    $("p").each(function() { 
     if ($(this).text() === "5") { 
      var gsd = $(this).text(); 
      alert(gsd); // this works 
     } 
    }) 
    alert("get var outside func" + gsd); //does not work 
}); 
+0

Sì, vedo che è, tuttavia, la risposta di Igor in merito a "ridichiarare" la variabile all'interno della funzione era giusta al punto. – user2232681

risposta

25

È ridichiarare gsd come una nuova variabile all'interno vostra funzione. Rimuovere var davanti a gsd all'interno della funzione per indirizzare lo gsd nell'ambito esterno.

+0

Grazie. Risposta semplice e diretta. Ora capisco. – user2232681

+1

'gsd' non è globale ... – Ian

+0

@Ian - a destra," globale "dovrebbe essere" nell'ambito esterno " – Igor