2015-01-08 30 views
-2
  1. 我正在尝试完成一个小的js任务,编写代码但我 正在获取SyntaxError:意外的令牌var。你们能告诉我它有什么错误吗?
  2. 修改StudentReport类,以便在for-in循环中控制台不会将等级打印到 。
  3. 但是,getGPA仍应在最后一行中正常运行。

function StudentReport() { 
    var grade1 = 4; 
    var grade2 = 2; 
    var grade3 = 1; 
    var getGPA = function() { 
     return (var grade1 + var grade2 + var grade3)/3; 
    }; 
} 

var myStudentReport = new StudentReport(); 

for(var x in myStudentReport) { 
    if(typeof myStudentReport[x] !== "function") { 
     console.log("Muahaha! " + myStudentReport[x]); 
    } 
} 

console.log("Your overall GPA is " + myStudentReport.getGPA()); 
+1

'回报(VAR grade1 + VAR grade2 + VAR grade3)'< - 这是无效的! – adeneo

+0

那真可怕!你在想什么? – vjdhama

+0

如果你看看发生错误的那一行,你应该自己看看。错误消息非常合适。 – Bergi

回答

1

这里这没有任何意义,摆脱了var S的存在。

return (var grade1 + var grade2 + var grade3)/3; 
2

当您使用变量时,只有当您第一次定义变量时,才会使用var

return (var grade1 + var grade2 + var grade3)/3; 
     ^^^   ^^^   ^^^ 

,但你的代码有更多的问题,因为你检查的功能,但是你没有编写代码的时候有任何。

for(var x in myStudentReport) { <-- why are you looking through the function? 

你想要做这样的事情

function StudentReport() { 
    var grade1 = 4; 
    var grade2 = 2; 
    var grade3 = 1; 
    this.getGPA = function() { 
     return (grade1 + grade2 + grade3)/3; 
    }; 
} 

var myStudentReport = new StudentReport(); 
console.log(myStudentReport.getGPA());