2017-05-19 4 views
0

ich diesen Fehler halte, und es mich verwirrend ..Javascript SyntaxError: fehlt; vor Anweisung (nach Schleife)

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]; 
    } 
} 
+0

Sie verwenden nicht 'var' in Zuweisungen, das wird nur verwendet, um neue Variablen zu deklarieren. – Barmar

Antwort

0

Grundsätzlich müssen Sie Arrays deklarieren und initialisieren, bevor sie verwendet wird.

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]; 
    } 
} 
0

Das ist var Schlüsselwort verwendet, um neue Variablen zu deklarieren und sie gegebenenfalls initialisieren. Es wird nicht in normalen Aufgaben verwendet. Und es macht keinen Sinn, einen Index in die deklarierte Variable aufzunehmen - Indizes werden verwendet, um auf den Inhalt eines Arrays zuzugreifen, nichts zu deklarieren.

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]; 
    } 
} 
Verwandte Themen