2012-05-14 19 views
6

Sono un principiante in JavaScript e volevo chiedere quanto segue: Ho due semplici funzioni e mi chiedevo se esiste un modo per passare un valore variabile da una funzione all'altra. So che posso spostarlo al di fuori della funzione per essere usato anche in altre funzioni, ma ho solo bisogno di sapere come posso avere una variabile locale e manipolarla con la mia seconda funzione. è possibile, e come?Passaggio di una variabile locale da una funzione a un'altra

Ecco il codice:

window.onload = function show(){ 
    var x = 3; 
} 

function trig(){ 
    alert(x); 
} 
trig(); 

La domanda è: come faccio ad accedere variabile x (dichiarata nella funzione show) dalla mia seconda funzione trig?

+0

Non è molto chiaro quello che stai chiedendo ... stai chiamando una funzione da dentro l'altro? Pubblica qualche codice di esempio. –

+0

non dimenticare di contrassegnare la risposta come accettata se hai le informazioni che vuoi ... –

risposta

29

primo modo è

function function1() 
{ 
    var variable1=12; 
    function2(variable1); 
} 

function function2(val) 
{ 
    var variableOfFunction1 = val; 
} 

secondo modo è

var globalVariable; 
function function1() 
{ 
    globalVariable=12; 
    function2(); 
} 

function function2() 
{ 
    var local = globalVariable; 
} 
+0

perché -1 può dowvoter spiegare questo ?? –

+3

contrastato +1 :) – Dave

+0

@PranayRana ci sono altre informazioni su questo nel sito jQuery o hai un buon post sul blog su cosa sta realmente accadendo con il codice? Questa risposta mi ha aiutato molto. – lowtechsun

-1

Si può facilmente utilizzare questo per ri-utilizzare il valore della variabile in un'altra funzione.

// Utilizzare questo codice sorgente window.var1 = oEvent.getSource(). GetBindingContext();

// Ottieni il valore di var1 nella destinazione var var2 = window.var1;

0

Aggiungendo alla lista di @ Pranay-rana:

terzo modo è:

function passFromValue(){ 
    var x = 15; 
    return x; 
} 
function passToValue() { 
    var y = passFromValue(); 
    console.log(y);//15 
} 
passToValue(); 
Problemi correlati