Variablen/DOM-Objekte füllen
Paul
- javascript
Moin,
kann man mehrere Variablen/DOM-Objekte gleichzeitig mit einem Wert belegen?
Zum Beispiel so:
document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;
oder muss man das einzeln machen?
Paul
kann man mehrere Variablen/DOM-Objekte gleichzeitig mit einem Wert belegen?
Zum Beispiel so:document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;
ja.
Struppi.
Das ging ja schnell :-)
Danke!
Hi,
Das ging ja schnell :-)
Ja, *fast* so schnell, wie selber ausprobieren haette gehen koennen ...
MfG ChrisB
Hallo,
Ja, *fast* so schnell, wie selber ausprobieren haette gehen koennen ...
Naja, führt das Ausprobieren zu einem negativen Ergebnis, hat man keine Einsicht, warum es nicht geht und wie es richtig ginge; noch schlimmer aber: wenn es aber »funzt«, hätte man sie noch weniger, würde sich womöglich irgendetwas einbilden, was einen auf falsche Fährte lockt. Da ist es schon sinnvoll, nachzufragen bzw. soweit es geht selbst der Sache auf den Grund zu gehen, anstatt sich durch Try & Error etwas zurechtzubasteln, was vordergründig den Anschein erweckt, als würde es den Zweck erfüllen...
Mathias
Hi,
Da ist es schon sinnvoll, nachzufragen bzw. soweit es geht selbst der Sache auf den Grund zu gehen, anstatt sich durch Try & Error etwas zurechtzubasteln, was vordergründig den Anschein erweckt, als würde es den Zweck erfüllen...
Nun ja, etwas a la "ich hab das ausprobiert, das funktioniert auch, wie gewuenscht - aber kann ich mich darauf verlassen, bzw. wo kann ich was darueber nachlesen?" wuerde ich als halbwegs vernuenftige Form der Praesentation eines solchen "Problems" eigentlich schon erwarten.
MfG ChrisB
ja.
Ging denn auch sowas:
if (document.getElementById('modus').value == 'linie' || 'punkt') {...
Paul
Hallo Paul,
Ging denn auch sowas
Ja, wie Dir folgendes Bsp zeigt:
alert(true == false || true);
wobei ich die beiden Vergleichswerte in Klammern setzen würde, um mehr übersicht zu bekommen:
alert(true == (false || true));
Mit freundlichem Gruß
Micha
Hi,
Ging denn auch sowas:
ja, es ist aber etwas signifikant anderes als
if (document.getElementById('modus').value == 'linie' || document.getElementById('modus').value == 'punkt') {...
Cheatah
warum?
Hi,
Ging denn auch sowas:
ja, es ist aber etwas signifikant anderes als
if (document.getElementById('modus').value == 'linie' || document.getElementById('modus').value == 'punkt') {...
Cheatah
Hi,
warum?
wegen der Art der Verarbeitung Boole'scher Faktoren, die in JavaScript implementiert wurde. Andere Sprachen machen das anders - diese sind allerdings extrem selten.
Hi,
Kein TOFU bitte, danke.
Cheatah
Hallo,
warum?
{Wert1} == {Wert2} || {Wert3}
Wie kommst du darauf, dass dieser Ausdruck jeweils Wert1 und Wert2 mit Wert3 vergleicht und true ergibt, wenn beide Vergleiche true ergeben?
Gemäß der Operatorenrangfolge wird zuerst der Teilausdruck {Wert1} == {Wert2} berechnet. Ergibt true oder false. Heraus kommt der neue Teilausdruck true || {Wert3} respektive false || {Wert3}. Der ||-Operator funktioniert so, dass er den Operanden ergibt, der true ergibt, wenn er zum Boolean-Typ umgewandelt wird. Das heißt:
true || 'punkt' ⇒ true
false || 'punkt' ⇒ 'punkt'
Wenn der Ausdruck nun in if (...) steht, dann wird das Ergebnis natürlich nochmal zu Boolean umgewandelt, weil ein Wahrheitswert erwartet wird. 'punkt' umgewandelt in Boolean ergibt true.
Es ist also Unsinn, if (document.getElementById('modus').value == 'linie' || 'punkt') zu schreiben, es kommt immer true dabei heraus, auch wenn die value-Eigenschaft weder gleich 'linie' noch gleich 'punkt' ist.
Mathias
Hallo,
document.getElementById('y2RW').value = document.getElementById('y2AK').value = y2;
Das ist eine Expression, die gemäß der Operatorenrangfolge ausgerechnet wird. Zuerst werden die .-Operatoren ausgerechnet und so entstehende Referenzen:
{Referenz1} = {Referenz2} = {Referenz3};
Das ist einfach eine Kette von Assigment Expressions (»Zuweisungs-Ausdrücken«). Die wird von hinten aufgelöst (weil der =-Operator »right-associative« ist), also zuerst {Referenz2} = {Referenz3}. Das Ergebnis dieses Teilausdrucks ist wiederum der Wert, auf den Referenz3 verweist (also der Inhalt der Variable y2). Dann wird {Referenz1} = {Wert} ausgerechnet.
Mathias