if语句返回undefined超出范围内的值
我试图使用xval
当currentQuestionIndex
不等于二,但它返回未定义,因为它不满足条件。如何在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;
}
您正在声明一个varibale xval
在if
条件的正文中。因此,会发生局部变量。因此,如果条件不满足,并且您要访问xval
变量,它将返回为undefined
。
尝试这样:
声明全局变量。
var xval = '';
if (currentQuestionIndex == 2) {
xval = currentScore;
}
感谢您的回复。我的主要目标是在currentQuestionIndex == 2时存储currentScore值,并在currentQuestionIndex不等于2时在if语句外使用相同的x Val值。您是否知道一种方法来执行此操作? –
您可以使用相同的代码访问它。如果'currentQuestionIndex == 2'返回true,则使用currentScore值更新xval。 –
当currentQuestionindex等于5时,Xval是否保持不变?想象当前得分值随currentQuestionindex –
感谢您的回复。我的主要目标是在currentQuestionIndex == 2时存储currentScore值,并在currentQuestionIndex不等于2时在if语句外使用相同的x Val值。您是否知道一种方法来执行此操作? –
这应该不成问题。变量的范围是整个函数,所以如果你不重新分配'xval',它将具有旧值。但是,如果你还没有初始化它,它将是未定义的。 – Barmar