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>
&#13;
为什么这是false
?因为我把字符串转换为数字。并尝试为两个变量执行typeof
,两者都显示正确的数据类型。
答案 0 :(得分:4)
因为你正在检查3是否等于4.你有3个.question div,所以:
$('#quiz .question').length + 1 ==> 4
答案 1 :(得分:0)
你错过+
前缀增量运算符(++)
var quiz_progress = '3'
console.log(++quiz_progress) // 4
console.log($('#quiz .question').length + 1)
console.log(++quiz_progress >= $('#quiz .question').length + 1) // 5 >= 4