我有一个变量p1Score是一个数字,而p1ScoreDisplay是一个跨度的内容。我创建了一个事件监听器,每次单击时都会在分数中加1,并使用以下内容更新范围:
p1.addEventListener("click", function()
{
p1Score++;
p1ScoreDisplay.textContent = p1Score;
});
这是正常的,但是,我不想让函数匿名。我创建了一个单独的函数,并创建了一个匿名函数,其功能如下:
function addPoint(score, scoreDisplay)
{
score++;
scoreDisplay.textContent = score;
}
p1.addEventListener("click", function(){addPoint(p1Score,p1ScoreDisplay);});
这个版本只会预先生成一次,而另一次只会发生,我不确定为什么?
答案 0 :(得分:1)
在第一个示例中,您将增加p1Score
的值。下一次单击会再次增加它。
在第二个示例中,您将p1Score
的值复制到score
,然后增加score
的值。下一次点击会将p1Score
的原始且未更改的值复制到score
并再次递增。