2016-06-17 21 views
-2

Ich habe ein JavaScript-Programm mit 3 Funktionen. Die ersten beiden Funktionen haben beide die Variablenwerte und ich möchte auf diese Variablen in der dritten Funktion zugreifen, aber ich bekomme einen Fehler, der besagt, dass die Variablen nicht definiert sind. Ich habe versucht, die Variablen global außerhalb der Funktion zu setzen und dann auf sie zuzugreifen, aber mit den gleichen Fehlern.Übergabe von Variablen von einer Funktion zur anderen in Javascript

var result; 
var result2; 

function getOpens(){ 

result = 10; 

} 

function getClicks(){ 

    result2 = 6 
} 

function getTotal(){ 

    if(result >= 10 && result2 < 1) 
    { 
    //DO SOMETHING 
} 
} 

getOpens(); 
getClicks(); 
getTotal(); 

Ich bin nicht sicher, ob dies der richtige Weg für den Zugriff auf Variablen aus anderen Funktionen ist. Ich habe versucht, global zu setzen, aber immer noch kein Glück, und die Funktion getTotal kann nicht auf die Variablen result und result2 zugreifen.

+0

Und wo werden die Funktionen ausgeführt? – nicael

+0

der Wert hat noch nicht initialisiert, weil die Funktion getOpens und getClicks nicht – kiro112

+0

aufgerufen werden, wenn Sie die Funktionen dann – lordkain

Antwort

1

Warum verwenden Sie nicht die Rückgabewerte von der Funktion in Ihrer dritten Funktion? Es funktioniert ohne globale Variablen.

function getOpens(){ 
    return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal() { 
    if(getOpens() >= 10 && getClicks() < 1) { 
     //DO SOMETHING 
    } 
} 
0

paar Optionen

Option 1 - Anruffunktionen in getTotal()

function getOpens(){ 
return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal(){ 

var result = getOpens(); 
var result2 = getClicks(); 

    if(result >= 10 && result2 < 1) 
    { 
    //DO SOMETHING 
    } 
} 

Option 2 - pass params mit Funktion getTotal()

function getTotal(opens, myClicks){ 

    if(opens >= 10 && myClicks< 1) 
    { 
    //DO SOMETHING 
    } 
} 
0

Wie wäre es damit:

var result; 
var result2; 

function getOpens(){ 
return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal(){ 
    if(result >= 10 && result2 < 1) 
    { 
    console.log("DO SOMETHING"); 
} else { 
    console.log("DO SOMETHING ELSE"); 
} 
} 

result = getOpens(); 
result2 = getClicks(); 
getTotal(); 
Verwandte Themen