我在这里声明了一个变量:
var quizScore = 0;
我希望每次correctAnswer()
函数运行时都为它添加一个数字:
function correctAnswer(){
quizScore+1;
console.log ( 'correct answer selected: quizscore = ' + quizScore );
}
我添加了一个用于调试的控制台日志。它工作正常,因此正在调用该函数,但它没有添加分数。我需要将其解析为整数吗?我无法解决+1需要正常工作的问题。
你可以去这里,你会看到点击" Lightning Bolt"问题1显示"正确答案"在控制台中,但不会添加到分数变量。
答案 0 :(得分:3)
这样做:
function correctAnswer(){
console.log ( 'correct answer selected: quizscore = ' + (++quizScore) );
}
您只需要将+1分配给quizScore变量。这可能是添加1并在一行中显示的最快方法
答案 1 :(得分:1)
您正在为quizScore
中的任何值添加一个,并且对结果不执行任何操作。
您需要quizScore = quizScore + 1
。
答案 2 :(得分:1)
将quizscore保持为全局变量。
其次,将correctAnswer()
函数的第1行更改为
quizScore = quizScore + 1;
答案 3 :(得分:1)
您可以使用自记忆功能,不要使用如下变量污染全局环境:
function correctAnswer() {
correctAnswer.quizScore = (correctAnswer.quizScore || 0) + 1;
console.log("QuizScore : " + correctAnswer.quizScore);
}
for (var i = 0; i < 10; i++) {
correctAnswer(); // output 1 2 3 4 5 6 7 8 9 10
}
答案 4 :(得分:0)
现在,当你这样做时:
quizscore+1;
您可以添加一个,但不会将更改分配给变量。其中一个原因是,有时您可能希望在变量中添加一个足够长的数字来执行操作,但您不希望它更改。
// quiz score is left alone
var nextscore = quizscore + 1
以下是实际分配它的不同方法:
// temporarily adds 1 to quizscore, then saves it to quizscore
quizscore = quizscore + 1
// adds one to quizscore after it's used in an expression
quizscore++
// adds one to quizscore before it's used in an expression
++quizscore
所以,如果你做了这样的事情:
var nextscore = ++quizscore + 1;
您可以增加当前分数并预测下一个分数。