问这里是最后的手段,我花了50多个小时就出现了这个错误,如果有人能借给我一把,我会非常感激。
错误:"当前版本的Javascript","期望分号或换行符"
不支持Decunstructing Assignments。目标:将for循环中的用户输入分配给变量,使用这些变量初始化对象数组的每个元素的对象属性。
function STUDENT(name, id, course, mark, sum)
{
this.studName = name;
this.studentID = id;
this.courses = course;
this.marks = mark; //Attempted new array and marks[courses][0]
this.studsum = sum;
}
var student = new Array(30);
for(i = 0; i < 30; i++)
{
var name1 = prompt("Enter Student Name:");
if (name1 !== "!!!")
{
var id1 = parseInt(prompt("input the students ID:", ""));
for (var l = 0; l < course.length; l++)
{
mark1[l] = parseFloat(validateMark(l));
sum1 += mark1[l];
coursesum[l] = mark1[l] + coursesum[l];
}
var student[i] = new STUDENT(name1, id1, course1, mark1, sum1);
/*ERROR IS HERE ^*/
}
else
i = 30; /*Breaks out of loop*/
}/* end of for loop*/
我尝试了很多不同的东西,但这是我的代码的基础,所有其他函数都很好,每个变量的console.log()工作正常。
提前谢谢。
答案 0 :(得分:0)
改变这个:
var student[i] = new STUDENT(name1, id1, course1, mark1, sum1);
进入:
student[i] = new STUDENT(name1, id1, course1, mark1, sum1);
你的数组已经宣布不需要&#34; var&#34;面前。
PS:你的循环中的课程也是未定义的(在你当前的代码中)。