Gunnar Bittersmann: Zeitgesteuertes Einblenden einer Grafik

Beitrag lesen

@@Ceero

die Kombination beider Variablen hingegen gibt nur die Minuten aus, ohne die Stunde davor:

alert(now.getHours() && now.getMinutes());

Das liegt daran, dass die „logischen Operatoren“ in JavaScript nicht wirklich solche sind. Auf boolschen Werte true und false angewandt verhalten sich && und || tatsächlich wie AND bzw. OR und das Ergebnis ist true oder false.

Anderen Werte werden aber nicht in boolsche Werte konvertiert, sondern das Ergebnis ist – je nachdem, ob der erste Operand falsy ist oder nicht – der Wert des ersten oder des zweiten Operanden, siehe MDN.

Von Mitternacht bis 00:59 liefert now.getHours() && now.getMinutes() nicht die Minuten, sondern die Stunde (0), weil deren Wert dann falsy ist.

LLAP 🖖

--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.