2017-07-18 3 views
-1

Ich habe eine Top-Funktion, die mehrere Funktionen aufruft, die jeweils einen Booleschen Wert haben. Ich möchte die zurückgegebenen booleschen Werte innerhalb der Top-Funktion verwenden, um dort etwas anderes zu tun. Ist das überhaupt möglich?Boolean zurückgeben, um sie aufzurufen - Javascript/Polymer

Beispiel:

bitte auf nicht bekommen, aufgehängt, was die Funktionen aus tatsächlich funktionieren, aber bitte nur konzentrieren sich auf, wenn/wie sie ihre Boolesche Naturen zurück zum topFunct

passieren kann
topFunct : function() { 
    variable1 = this.$......; 
    variable2 = this.$......; 
    variable3 = this.$......; 

    this.funct1(); 
    this.funct2(); 

    if(funct1() && funct2()) { 
     //DO SOMETHING ELSE 
    } 
}, 

funct1 : function() { 
    if(variable1 == variable2) { 
     return true; 
    } else return false; 
}, 

funct2 : function() { 
    if(variable2 == variable3) { 
     return true; 
    } else return false; 
}, 
+3

'variable1' usw. sollen global scoped werden ...? Und was ist los mit 'var res1 = funct1()'? – deceze

+0

Danke @deceze! Und ja, die Variablen wurden absichtlich global gemacht, weil ich sonst ihre Werte nicht an die Funktionen übergeben könnte ... Hast du irgendwelche Ideen, wenn ich sie nicht-global haben und trotzdem weitergeben kann? – physicsboy

+0

--- FIXED --- siehe meine Antwort, wie ich es sortiert habe (mit der Hilfe eines Kollegen!) – physicsboy

Antwort

0

Alles, was Sie tun müssen, ist in TopFunct: return this.funct1() && this.funct2();

+0

Hey Diego, das hat nicht für mich funktioniert. Ich hatte immer noch das Problem des Debuggers, der sagte, dass die Funktionen nicht definiert wurden usw. Jedoch gab @deceze eine Antwort direkt unter meiner Frage, die anscheinend den Trick gemacht hat. Danke für die Hilfe. – physicsboy

0

@deceze eine Antwort für mich geschrieben, das hat gut funktioniert.

TopFunct erscheint jetzt als solche:

topFunct : function() { 
    variable1 = this.$......; 
    variable2 = this.$......; 
    variable3 = this.$......; 

    var result1 = this.funct1(); 
    var result2 = this.funct2(); 

    if(result1 && result2) { 
     //DO SOMETHING ELSE 
    } 
}, 

Global Scoping Variablen dumm ist, so dass eine Korrektur kann als gesehen werden:

topFunct : function() { 
    var params = {}; 

    params.variable1 = this.$......; 
    params.variable2 = this.$......; 
    params.variable3 = this.$......; 

    var result1 = this.funct1(params); 
    var result2 = this.funct2(params); 

    if(result1 && result2) { 
     //DO SOMETHING ELSE 
    } 
}, 

funct1 : function(params) { 
    // to use the params within here, must access them via their definitions in TopFunct. 
    // params.variable1 
    // params.variable2 
    // etc 
} 
Verwandte Themen