将整数添加到JavaScript变量

时间:2014-03-14 17:56:01

标签: javascript

我在这里声明了一个变量:

var quizScore = 0;

我希望每次correctAnswer()函数运行时都为它添加一个数字:

function correctAnswer(){
  quizScore+1;
    console.log ( 'correct answer selected: quizscore = ' + quizScore );
}

我添加了一个用于调试的控制台日志。它工作正常,因此正在调用该函数,但它没有添加分数。我需要将其解析为整数吗?我无法解决+1需要正常工作的问题。

你可以去这里,你会看到点击" Lightning Bolt"问题1显示"正确答案"在控制台中,但不会添加到分数变量。

5 个答案:

答案 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;

您可以增加当前分数并预测下一个分数。

了解详情:Expressions and Operators