Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript if语句中的值返回未定义的超出范围_Javascript_If Statement - Fatal编程技术网

Javascript if语句中的值返回未定义的超出范围

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 =

我正在尝试使用​ <代码>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
,它将具有旧值。但是如果您还没有初始化它,它将是未定义的。