2016-08-04 9 views
-1

Vielleicht ist die Frage albern, aber ich bin javascript lernen und verstehen nicht, warum, wenn ich einen folgenden Code haben:Doppel Rückkehr bestätigen Sie mit JavaScript

confirm("ready to go"); 
confirm("ready for learn"); 

die Konsole zeigt mir nur die letzte Antwort (true/false) und nicht beide Antworten.

+3

Die Konsole _always_ zeigt das Ergebnis der letzten Anweisung. Wenn Sie beide Ergebnisse wünschen, müssen Sie die Ergebnisse irgendwie speichern. – Xufox

+1

oder loggen Sie sie manuell 'console.log (... valuesToLog)' – Thomas

Antwort

3

Dies liegt daran, js [na ja, fast] eine applicative Sprache, und das Semikolon bewirkt, dass diese beiden Ausdrücke nacheinander ausgewertet werden, und Sie haben nur den Wert der letzten sehen.

Wenn Sie beide Antworten abfangen möchten, können Sie sie Variablen zuweisen, z.

var ans1 = confirm("ready to go"); 
var ans2 = confirm("ready for learn"); 

Sie auch eine Liste, wie diese verwenden:

[confirm("ready to go"), confirm("ready for learn")] 

und wahrscheinlich würden Sie es auch zu einer Variablen wie zuweisen ...

Viel Glück und glücklich Lernen !

3

Sie müssen das Ergebnis irgendwo speichern, sonst erhalten Sie immer das letzte Ergebnis.

var result1 = confirm("ready to go"); 
var result2 = confirm("ready for learn"); 
console.log(result1 + ' ' + result2); 
+2

Noch besser: 'console.log (result1, result2);' oder 'console.log (bestätigen (" ready to go "), bestätigen (" ready für lernen "));'. – Xufox

+0

Nun ja, je nachdem, was er will –

+1

für jetzt ist es nur für Lernzwecke. aber @Xufox hat recht, besser wenn ich schauen will was ich mache. thnks. :) – Makito

Verwandte Themen