Seltsame JavaScript Vergleichsoperator
var quiz_progress = '3'
console.log(+quiz_progress)
console.log($('#quiz .question').length + 1)
console.log(+quiz_progress >= $('#quiz .question').length + 1)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="quiz">
<div class="question">1</div>
<div class="question">1</div>
<div class="question">1</div>
</div>
Warum ist das false
? seit ich den String zur Nummer gegossen habe. Und versuchen Sie, typeof
für beide Variable zu tun, zeigt beide den richtigen Datentyp.
Warum sollte ' '3 '== $ (' # quiz .question '). Länge + 1' ist wahr? Selbst wenn $ ('# quiz .question'). Length + 1 '3 ist, wird das Ergebnis immer noch' '3'! = 3 'sein. – choz
Weil' 3 == 4 '' falsch 'ist? –
'$ ('# quiz .question'). Länge + 1 = 4' während' + quiz_progress = 3'. Wie können diese beiden Werte gleich sein? – currarpickt