Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 数组的第一部分保存学生分数,警告框显示学生姓名和undefined或NaN_Javascript_Arrays_Function - Fatal编程技术网

Javascript 数组的第一部分保存学生分数,警告框显示学生姓名和undefined或NaN

Javascript 数组的第一部分保存学生分数,警告框显示学生姓名和undefined或NaN,javascript,arrays,function,Javascript,Arrays,Function,代码如下: 函数studentName(x) { 而(x='') { x=提示('不能将字段留空,请重新输入'); } 返回(x) } 函数学生分数(y) { 而(y=''||y>100|y

代码如下:

函数studentName(x)
{
而(x='')
{
x=提示('不能将字段留空,请重新输入');
}
返回(x)
} 
函数学生分数(y)
{
而(y=''||y>100|y<0||isNaN(y))
{
y=parseFloat(提示('无效分数。再次输入分数');
}
返回(y)
}
函数(z,t)
{
而(z=''&&z!='n'&&z!='n'&&z!='y'&&z!='y')
{
如果(z='y'| | z='y')
{
z=提示('无效选项。请输入其他分数?Y或N')
}
其他的
{
t=提示('无效选项。输入另一个学生?Y或N')
}
}
返回(z)
}
变量名称=[]
var得分=[]
var redo=true
另一个名字
氧化还原钒
var retry=true
另一个分数
var retry2
变量i=0
变量a=1
while(重做==true)
{
var studentNames=prompt('entstudentname');
变量名=学生名(学生名);
name.push(name)
while(重试==true)
{
var studentScores=parseFloat(提示(“输入学生分数”);
var分数=分数+学生分数(学生分数);
重试=提示(“输入另一个分数?是/否”);
retry2=另一个(重试);
如果(重试=='y'| |重试=='y')
{
重试=真
a++
}
else if(重试=='n'| |重试=='n')
{
重试=错误
}
}
分数=分数/a
分数
重做=提示(“输入另一个学生?是/否”);
redo2=另一个(redo);
如果(重做='y'| |重做=='y')
{
重做=真
重试=真
i++;
a=1
分数=0
}
else if(重做='n'| |重做='n')
{
重做=错误
} 
}
对于(y=0;y}
请在循环外部初始化分数,并从循环中删除var关键字


函数studentName(x)
{
而(x='')
{
x=提示('不能将字段留空,请重新输入');
}
返回(x)
} 
函数学生分数(y)
{
而(y=''||y>100|y<0||isNaN(y))
{
y=parseFloat(提示('无效分数。再次输入分数');
}
返回(y)
}
函数(z,t)
{
而(z=''&&z!='n'&&z!='n'&&z!='y'&&z!='y')
{
如果(z='y'| | z='y')
{
z=提示('无效选项。请输入其他分数?Y或N')
}
其他的
{
t=提示('无效选项。输入另一个学生?Y或N')
}
}
返回(z)
}
变量名称=[]
var得分=[]
var redo=true
另一个名字
氧化还原钒
var retry=true
另一个分数
var retry2
变量i=0
变量a=1
while(重做==true)
{
var studentNames=prompt('entstudentname');
变量名=学生名(学生名);
name.push(name)
var得分=0;
while(重试==true)
{
var studentScores=parseFloat(提示(“输入学生分数”);
分数=分数+学生分数(学生分数);
重试=提示(“输入另一个分数?是/否”);
retry2=另一个(重试);
如果(重试=='y'| |重试=='y')
{
重试=真
a++
}
else if(重试=='n'| |重试=='n')
{
重试=错误
}
}
分数=分数/a
分数
重做=提示(“输入另一个学生?是/否”);
redo2=另一个(redo);
如果(重做='y'| |重做=='y')
{
重做=真
重试=真
i++;
a=1
分数=0
}
else if(重做='n'| |重做='n')
{
重做=错误
} 
}
对于(y=0;y
当循环第一次运行此行时:

var score = score + studentScore(studentScores);
变量
score
尚未定义,因此上行将导致
NaN

要修复此问题,请在循环之前简单定义
分数

var score = 0;