2015-01-08 59 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());