Ich dachte, ich weiß, was ist und wie man ||
("Logical Or") verwendet, bis etwas zu sehen. DieseJavascript - Logisch Oder ||
ist, was ich verstehe:
if(conditional A || conditional B) {
// execute if either A or B is true
}
Dies ist, was ich nicht tun, würden Sie bitte erklären.
var inputs = document.querySelectorAll('input');
var inBetween = false;
for(var i = 0; i < 10; i++) {
if(i == 1 || i == 3) {
\t inBetween = !inBetween;
}
if(inBetween) {
inputs[i].checked = true;
}
}
<ul>
<li><input type="checkbox">ONE</li>
<li><input type="checkbox">TWO</li>
<li><input type="checkbox">THREE</li>
<li><input type="checkbox">FOUR</li>
<li><input type="checkbox">FIVE</li>
<li><input type="checkbox">SIX</li>
<li><input type="checkbox">SEVEN</li>
<li><input type="checkbox">EIGHT</li>
<li><input type="checkbox">NINE</li>
<li><input type="checkbox">TEN</li>
</ul>
Ich dachte, entweder der coniditon wahr ist, entweder i == 1
oder i == 3
, wird der Code innerhalb des if-Block ausgeführt wird. Aber wie kommt es dann, dass eine Menge Inputs involviert sind? (in diesem Fall waren 1-3 beteiligt).
Warum ist es ein Bereich 1-3, aber nicht nur 1 oder 1 & 3?
Warum ersetzt das Ersetzen !inBetween
durch true
innerhalb der ersten if
Klausel nicht?
Entschuldigung für eine sehr, sehr grundlegende Frage. Aber ich kann es wirklich nicht herausfinden.
Die Codes wurden aus Javascript30 vereinfacht: https://www.youtube.com/watch?v=RIPYsKx1iiU
Weil Sie die gleiche 'inBetween' Variable verwenden. Sobald i 1 ist, wird "inBetween" wahr. Es bleibt * wahr, bis "inBetween" 3 ist, wo es falsch wird. – Li357
Setzen Sie einfach 'inBetween = false; 'in den zweiten if-Block zurück. –
Danke Li357, Hassan Imam – Kenny