Javascript 如何在java脚本的函数中从按钮递增全局变量?

Javascript 如何在java脚本的函数中从按钮递增全局变量?,javascript,html,Javascript,Html,这可能是一个愚蠢的问题,但我在这方面遇到了很多麻烦,我需要做的测验和作业,我试图增加分数时,用户点击正确的按钮。然而,分数并没有增加。下面是它的一个小样本 增量按钮 定期的加薪 var得分=0; 函数递增分数() { 分数++; } 控制台日志(score); 每次单击都会增加变量。并在下一行中指定变量“1”。您应该删除行 score = 1; 你有一些问题 您可能希望在IncrementScore函数中使用console.log 您希望使用+=1或+增加变量 定期的加薪 var得分=

这可能是一个愚蠢的问题,但我在这方面遇到了很多麻烦,我需要做的测验和作业,我试图增加分数时,用户点击正确的按钮。然而,分数并没有增加。下面是它的一个小样本


增量按钮
定期的加薪
var得分=0;
函数递增分数()
{
分数++;
}
控制台日志(score);

每次单击都会增加变量。并在下一行中指定变量“1”。您应该删除行

score = 1;
你有一些问题

  • 您可能希望在
    IncrementScore
    函数中使用
    console.log
  • 您希望使用
    +=1
    +
    增加变量
  • 
    定期的加薪
    var得分=0;
    函数递增分数(){
    分数++;
    控制台日志(score);
    }
    控制台日志(score);
    
    将代码更改为
    分数+=1
    ,并将控制台调用移动到函数内部

    
    增量按钮
    定期的加薪
    var得分=0;
    函数递增分数()
    {
    分数+=1;
    控制台日志(score);
    }
    控制台日志(score);
    
    TL;DR:实际上,
    分数确实增加了,但没有通过点击处理程序打印出来

    正如我在您的代码片段中所知道的那样,
    标记(包括
    console.log
    )中的所有脚本最初都将执行一次。然后它坐在那里听事件,比如你的点击。然后,当您单击按钮时,会调用
    IncrementScore
    函数,它会增加
    score
    变量,但不会将其打印出来。你知道为什么吗?因为您没有告诉它这样做,(在
    递增分数处理程序中)。如果您注意到,您将看到每次单击只打印出一个
    0
    ,而不是每个
    0

    您应该阅读有关调用堆栈等的内容。。要了解更多有关代码执行顺序的信息。。。 修复代码片段可以在other的答案中找到,下面是变量实际“未更改”的代码,每次单击都会打印出来

    
    定期的加薪
    var得分=0;
    函数递增分数(){
    //分数++;
    控制台日志(score);
    }
    
    您是否尝试过
    分数+=1
    ?为什么在增加分数后将
    分数设置回
    1
    ?是的,我尝试过,但它也不起作用。
    控制台。日志(分数)
    应该在函数内部。
    分数=1
    是导致问题的原因,还是某种类型的输入错误?如果是前者,你不应该将其从问题中删除。他为什么要将
    score++
    更改为
    score+=1
    ?它们本质上是一样的。请不要在第三方网站上发布代码,比如Fiddle或CodePens,因为这些链接可能会随着时间的推移而消失,使您的答案毫无意义。将您的代码作为代码片段发布在您的答案中。(在编写答案时使用
    按钮)。@ScottMarcus我不知道这一点。谢谢你的邀请info@Barmar只是告诉OP有不同的方法来达到他想要的结果。哦,我明白你的意思。然而现在在我的实际代码中,我修复了它,但遇到了另一个问题。我在控制台中看到结果发生变化,但它会闪烁并显示disappears@JosiahFrancis哦,你的“实际代码”在哪里?你展示了吗?不,我没有展示,但我解决了问题。我做了一些愚蠢的事情,导致了问题。