【问题标题】:Javascript SyntaxError: missing ; before statement (after for loop)Javascript 语法错误:缺失; before 语句(在 for 循环之后)
【发布时间】:2017-10-19 23:59:17
【问题描述】:
我不断收到这个错误,这让我很困惑..
function calculate(){
var n = document.getElementById("noOfCourses").value;
for(var i = 0 ; i < n ; i++) {
var course[i] = document.getElementById("GPA" + i+1).value;
var hours[i] = document.getElementById("hours" + i+1).value;
// Calculate the product of Course GPA and Credit Hours
var product[i] = course[i] * hours[i];
}
}
【问题讨论】:
标签:
javascript
for-loop
error-handling
syntax-error
【解决方案1】:
基本上你需要在使用它们之前声明和初始化数组。
function calculate(){
var n = document.getElementById("noOfCourses").value,
course = [], // declare and init before
hours = [], // declare and init before
product = []; // declare and init before
for(var i = 0 ; i < n ; i++) {
course[i] = document.getElementById("GPA" + i+1).value;
hours[i] = document.getElementById("hours" + i+1).value;
// Calculate the product of Course GPA and Credit Hours
product[i] = course[i] * hours[i];
}
}
【解决方案2】:
var 关键字用于声明新变量,并可选择初始化它们。它不用于普通作业。在声明的变量中包含索引是没有意义的——索引用于访问数组的内容,而不是声明任何内容。
function calculate(){
var n = document.getElementById("noOfCourses").value;
for(var i = 0 ; i < n ; i++) {
course[i] = document.getElementById("GPA" + i+1).value;
hours[i] = document.getElementById("hours" + i+1).value;
// Calculate the product of Course GPA and Credit Hours
product[i] = course[i] * hours[i];
}
}