gpt4 book ai didi

javascript - 如何只执行一次函数?

转载 作者:行者123 更新时间:2023-12-02 08:07:00 32 4
gpt4 key购买 nike

比如我有一个函数

Question.prototype.checkAnswer = function(answer1, answer2) {
if (answer1.innerHTML == this.correctAnswer) {
console.log("correct");
players1.moveCharacter = true;
pointAmount+= 1;
point.innerHTML = pointAmount;
} else {
console.log("nope")
}
}

如果答案正确,则 id 会在总分中加 1 分。但问题是,如果我不转到数组中的下一个问题,只是继续单击答案按钮,那么在我决定继续下一个问题之前,我会一直获得尽可能多的分数。我怎样才能解决这个问题,只有一次我才能回答这个问题并且只得到一分。我相信不知何故我需要确保该功能只运行一次?

这可能很容易解决,但我是新手,想不出任何东西。

最佳答案

您可以使用一个简单的标志,并在函数被调用后将其设置为 true

function Question() {}

Question.prototype.checkAnswer = function(answer1, answer2) {

if(this.answerChecked)
return; // If answer was already checked, leave.

this.answerChecked = true;

// The rest of your code
console.log('Run');
}

const question = new Question();

question.checkAnswer('yes', 'no');
question.checkAnswer('again', 'no'); // This will do nothing

关于javascript - 如何只执行一次函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50519707/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com