2012-08-30 86 views
0

我正在研究codecademy.com課程,我應該檢查一個數字是3或5的倍數(但不是3和5的倍數),返回true或false取決於測試的結果。如果不滿足任一條件,該方法也應該返回false。JavaScript:意外的令牌錯誤

當我運行代碼時,它告訴我有一個語法錯誤:意外的令牌。任何人都可以看到我做錯了什麼?

var FizzBuzzPlus = { 

    this.isFizzBuzzie = function(number){ 
     if (number % 3 === 0 && number % 5 === 0){ 
      return false;   
     }else if (number % 3 === 0 || number % 5 ===0){ 
      return true; 
     }else{ 
     return false; 
     }       
    }; 
}; 

回答

4

這應該工作:

var FizzBuzzPlus = { 

    isFizzBuzzie: function(number){ 
     if (number % 3 === 0 && number % 5 === 0){ 
      return false;   
     }else if (number % 3 === 0 || number % 5 ===0){ 
      return true; 
     }else{ 
     return false; 
     }       
    } 
}; 
1

有點偏離主題,但它會更好地評估用於3和5模只有一次:

var FizzBuzzPlus = { 

    isFizzBuzzie : function(number){ 
     var d3 = number % 3 === 0; 
     var d5 = number % 5 === 0; 
     if (d3 && d5){ 
      return false;   
     }else if (d3 || d5){ 
      return true; 
     }else{ 
     return false; 
     }       
    } 
}; 

for (var i = 0; i <= 25; i++){ 
    console.log(i + ": " + FizzBuzzPlus.isFizzBuzzie(i)); 
}