JavaScript:意外的令牌错误

时间:2012-08-30 18:23:40

标签: javascript

我正在上一个codecademy.com课程,我应该检查一个数字是3或5的倍数(但不是3和5的倍数),根据结果返回true或false测试。如果不满足任何一个条件,该方法也应该返回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; 
        }                           
    }; 
};

2 个答案:

答案 0 :(得分: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 :(得分: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));
}