Va bene così ho questo codice nel corpo:javascript: ottenere il valore della variabile di una funzione all'interno di un'altra funzione
<input type="text" value="haha" id="full_name"/>
E questo codice nello script
<script language="javascript" type="text/javascript">
function first(){
var nameContent=document.getElementById('full_name').value;
}
function second() {
first();
y=nameContent;
alert(y);
}
second();
</script>
Voglio un avviso che mostra il valore della elemento full_name, ma non sembra funzionare, qualcuno sa perché? : S
Penso che usando una variabile globale lo ** stesso ** che usa una funzione per restituire il suo valore, entrambi sono scope globali, no? Un problema riguardante il tuo approccio è che sempre quando viene chiamato getFullName(), verrà eseguita una ricerca DOM, se venisse usata una var, la ricerca DOM verrebbe chiamata solo una volta. –
No, sono piuttosto diversi perché le variabili globali che contengono valori statici non sono funzioni. Per quanto riguarda la ricerca, non è questo il punto? Vuoi ottenere il valore corrente dell'elemento con l'id di 'full_name'. Se quel valore fosse statico, sarebbe inutile che una funzione restituisse la variabile statica. – Blender
Ciò che voglio dire è che può essere ottimizzato. Puoi tenere l'oggetto DOM in una var: 'nameElement = document.getElementById ('full_name');' e ogni volta che ne ha bisogno, usa 'nameElement.value'. –