我试图确定为什么我会收到以下行为。这是我想要更新的div:
<h3 id='guess-count'> 5 Guesses Remaining </h3>
工作代码:
$('#guess-count').html(startingCount = startingCount - 1 + " Guesses Remaining");
这将显示startingCount变量的更新值。
非工作
$('#guess-count').html(startingCount-- + " Guesses Remaining");
当我使用调试器时,我看到值确实发生了变化,但它没有在html视图中表达。但是,如果我再次运行它,它确实更新了html值,但是在它减去一个之前它的值是多少。这是一个例子:
// starting value and first pass
startingCount = 5
$('#guess-count').html(startingCount-- + " Guesses Remaining");
// startingCount html display value is 5 BUT startingCount holds the value of 4
startingCount = 4
//second pass
$('#guess-count').html(startingCount-- + " Guesses Remaining");
// startingCount html display value is 4 BUT startingCount holds the value of 3
它似乎显示了startingCount的当前值,然后从中减去了一个 值。
有人知道为什么这样做吗?它似乎在更新html后评估'startingCount--'。
答案 0 :(得分:5)
这是操作的顺序。基本上是:
startingCount--
正在说打印数字,然后递减它。
你想要的是:
--startingCount
减少数字,然后打印出来。