【问题标题】: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];
    }
}

【问题讨论】:

  • 你不要在赋值中使用var,它只用于声明新变量。

标签: 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];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 2019-01-07
      • 1970-01-01
      • 2019-10-07
      • 2015-04-21
      • 1970-01-01
      • 2014-03-22
      相关资源
      最近更新 更多