if语句返回undefined超出范围内的值

问题描述:

我试图使用xvalcurrentQuestionIndex不等于二,但它返回未定义,因为它不满足条件。如何在if条件未满足时将变量存储在要使用的if语句中。if语句返回undefined超出范围内的值

if (currentQuestionIndex == 2) { 
    var xval = currentscore; 
} 

能否请你找出解决方案,它在Java脚本完成

之前的if指定一个默认变量:

var xval = 0; 
if (currentQuestionIndex == 2) { 
    xval = currentScore; 
} 

或使用else条款:

var xval; 
if (currentQuestionIndex == 2) { 
    xval = currentScore; 
} else { 
    xval = 0; 
} 
+0

感谢您的回复。我的主要目标是在currentQuestionIndex == 2时存储currentScore值,并在currentQuestionIndex不等于2时在if语句外使用相同的x Val值。您是否知道一种方法来执行此操作? –

+0

这应该不成问题。变量的范围是整个函数,所以如果你不重新分配'xval',它将具有旧值。但是,如果你还没有初始化它,它将是未定义的。 – Barmar

您正在声明一个varibale xvalif条件的正文中。因此,会发生局部变量。因此,如果条件不满足,并且您要访问xval变量,它将返回为undefined

尝试这样:

声明全局变量。

var xval = ''; 
if (currentQuestionIndex == 2) { 
    xval = currentScore; 
} 
+0

感谢您的回复。我的主要目标是在currentQuestionIndex == 2时存储currentScore值,并在currentQuestionIndex不等于2时在if语句外使用相同的x Val值。您是否知道一种方法来执行此操作? –

+0

您可以使用相同的代码访问它。如果'currentQuestionIndex == 2'返回true,则使用currentScore值更新xval。 –

+0

当currentQuestionindex等于5时,Xval是否保持不变?想象当前得分值随currentQuestionindex –