Javascript if语句中的值返回未定义的超出范围
我正在尝试使用 <代码>xval当Javascript if语句中的值返回未定义的超出范围,javascript,if-statement,Javascript,If Statement,我正在尝试使用 xval当currentQuestionIndex 不等于2,但返回为未定义,因为它不满足条件。如何将变量存储在if语句中,以便在if条件不满足时使用 if (currentQuestionIndex == 2) { var xval = currentscore; } 请您找出解决方案,它是在java脚本中完成的,如果,请在之前指定一个默认变量: var xval = 0; if (currentQuestionIndex == 2) { xval =
currentQuestionIndex
不等于2,但返回为未定义,因为它不满足条件。如何将变量存储在if语句中,以便在if条件不满足时使用
if (currentQuestionIndex == 2) {
var xval = currentscore;
}
请您找出解决方案,它是在java脚本中完成的,如果,请在
之前指定一个默认变量:
var xval = 0;
if (currentQuestionIndex == 2) {
xval = currentScore;
}
或者使用else
子句:
var xval;
if (currentQuestionIndex == 2) {
xval = currentScore;
} else {
xval = 0;
}
您在if
条件的主体中声明了一个变量xval
。因此,会发生一个局部变量。因此,如果条件不满足,您将访问xval
变量,它将返回为未定义的
试试这样的方法:
全局声明变量
var xval = '';
if (currentQuestionIndex == 2) {
xval = currentScore;
}
谢谢你的回复。我的主要目标是当currentQuestionIndex==2时存储currentScore值,当currentQuestionIndex不等于2时,在if语句外使用相同的x Val值。你知道这样做的方法吗?你可以用相同的代码访问它。如果currentQuestionIndex==2
返回true,那么xval将用currentScore值更新。当currentQuestionIndex等于5时xval是否保持不变???假设当前分数值随CurrentQuestionIndex发生变化。我无法理解您的问题。在这个文件中,我试图引用if中的x值(currentQuestionindex==5&¤tScore=xvalue)。这是说xvalue超出范围,不执行if条件。感谢您的回复。我的主要目标是当currentQuestionIndex==2时存储currentScore值,当currentQuestionIndex不等于2时,在if语句外使用相同的x Val值。你知道怎么做吗?那应该没问题。变量的作用域是整个函数,因此如果不重新赋值xval
,它将具有旧值。但是如果您还没有初始化它,它将是未定义的。