Hallo, ich versuche gerade mir Javascript beizubringen und konnte bisher jedes Problem erfolgreich googlen. Hier weiß ich aber nicht weiter: Ich lasse durch if-Bedingungen prüfen, ob bestimmte Variablen existieren und lasse sie darauf hin ausgeben. Nur bei der letzten Bedinung, also die, bei der alle Variablen existieren, kommt kein zusätzliches "[object HTMLInputElement]".
Ich bin mir bewusst, dass mein Code wahrscheinlich sehr schlecht und überflüssig ist, dass er kürzer und effiezienter sein könnte, aber ich bin totaler Anfänger und weiß deshalb nicht, wie ich es besser machen sollte:
Zur genaueren Erklärung: Bei der 1. Bedingung werden die 2 Variablen angezeigt und darunter dann "[object HTMLInputElement]" - Bei den nächsten 3 Bedingungen dasselbe. Nur bei der letzten, also die, wo alle Variablen existieren, wird das nicht zusätzlich angezeigt.
Des weiteren: Auch der Wert "modeus" wird nur bei der letzten Bedinung angezeigt.
Nun wollte ich fragen, was bei dem Code falsch ist, außer, dass er in der Theorie sowieso komplett umständlich und überflüssig ist, da man ihn viel kürzer und effizienter schreiben könnte. Das Projekt ist nur zu lernzwecken.
Vielen Dank! :)
Ich bin mir bewusst, dass mein Code wahrscheinlich sehr schlecht und überflüssig ist, dass er kürzer und effiezienter sein könnte, aber ich bin totaler Anfänger und weiß deshalb nicht, wie ich es besser machen sollte:
Code:
function playgame(modeus) {
var c = document.getElementById('dartscheibe');
var ctx = c.getContext("2d")
ctx.font = "30px Arial";
if(name1 && name2 && !name3 && !name4 && !name5) {
ctx.fillText(name1, 10, 50);
ctx.fillText(modeus, 200, 50);
ctx.fillText(name2, 10, 100);
ctx.fillText(modeus, 200, 100);
}else if(name1 && name2 && name3 && !name4 && !name5) {
ctx.fillText(name1, 10, 50);
ctx.fillText(name2, 10, 100);
ctx.fillText(name3, 10, 150);
}else if(name1 && name2 && name3 && name4 && !name5) {
ctx.fillText(name1, 10, 50);
ctx.fillText(name2, 10, 100);
ctx.fillText(name3, 10, 150);
ctx.fillText(name4, 10, 200);
}else if(name1 && name2 && name3 && name4 && name5) {
ctx.fillText(name1, 10, 50);
ctx.fillText(modeus, 200, 50);
ctx.fillText(name2, 10, 100);
ctx.fillText(modeus, 200, 100);
ctx.fillText(name3, 10, 150);
ctx.fillText(modeus, 200, 150);
ctx.fillText(name4, 10, 200);
ctx.fillText(modeus, 200, 200);
ctx.fillText(name5, 10, 250);
ctx.fillText(modeus, 200, 250);
}
}
Zur genaueren Erklärung: Bei der 1. Bedingung werden die 2 Variablen angezeigt und darunter dann "[object HTMLInputElement]" - Bei den nächsten 3 Bedingungen dasselbe. Nur bei der letzten, also die, wo alle Variablen existieren, wird das nicht zusätzlich angezeigt.
Des weiteren: Auch der Wert "modeus" wird nur bei der letzten Bedinung angezeigt.
Nun wollte ich fragen, was bei dem Code falsch ist, außer, dass er in der Theorie sowieso komplett umständlich und überflüssig ist, da man ihn viel kürzer und effizienter schreiben könnte. Das Projekt ist nur zu lernzwecken.
Vielen Dank! :)