0

我正在学习 codecademy.com 课程,我应该检查一个数字是 3 还是 5 的倍数(但不是 3 和 5 的倍数),根据测试结果返回真或假。如果不满足任何一个条件,该方法也应该返回 false。

当我运行代码时,它告诉我有一个语法错误:意外令牌。谁能看到我做错了什么?

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

2 回答 2

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; 
        }                           
    }
};
于 2012-08-30T18:25:56.917 回答
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));
}
于 2012-08-30T18:39:22.187 回答