我应该创建一个名为'fizzBuzz()'的函数,它接受两个参数'start'和'stop'并返回一个以逗号分隔的字符串。这些论点代表了游戏'Fizz Buzz'的起点和终点。 (http://en.wikipedia.org/wiki/Fizz_buzz)。很快就意味着,在一系列数字中,我应该将所有可被3整除的数字打印为Fizz,并将可被5整除的数字打印为Buzz,其余部分则为。该函数应该从开始到结束运行,并将'Fizz','Buzz'或两者添加到适当数字的'result'变量中。 如果'stop'等于或低于'start',则该函数应返回错误消息。
function fizzBuzz(start, stop) {
for(var i= start; i <= stop; i++) {{
if (i % 5 == 0)
print "Buzz";
else if (i % 3 == 0)
print "Fizz";
else
print i;
}
console.log(",")
}
我的问题是我不知道如何使循环工作。现在,当我尝试打印fizzBuzz(2,24)时,什么都没有出来。控制台告诉我第4行缺少半结肠(与“Buzz”相同的行。
另外,我想知道这是否适用于if / else语句,因为有些数字可以被3和5整除。使用开关会更聪明吗?
最后,我想在某处添加if语句,如下所示。 if(start == stop || start&gt; stop) 警报(“选择不同的数字”);
它应该在函数内吗? ||意思是“或”,这是正确的吗?
提前致谢!
答案 0 :(得分:0)
您的代码问题(除了额外的{
之外)是您在return
循环中调用for
。这会导致函数停止并仅返回2.
你想要做的是在你添加数字的地方创建一个字符串变量然后返回它。这是我的意思的一个例子:
function fizzBuzz(start, stop) {
var returnString = "";
for (var i= start; i <= stop; i++) {
if (i % 5 == 0)
returnString += "Buzz";
else if (i % 3 == 0)
returnString += "Fizz";
else
returnString += i;
returnString += ",";
}
return returnString;
}
编辑:抱歉,我没有看到你的第二个问题!是的,您应该在函数开头放置if(start == stop || start> stop) alarm("choose different numbers");
的if语句,然后再运行任何其他代码(在我的示例中,在var returnString = "";
之前,但在{
之后)。但是,您应该注意两件事。首先,在JavaScript中显示消息的功能是alert
,而不是alarm
。其次,您应在return;
之后的if
中添加alert
声明,以便在警告用户选择不同的数字后,您的功能不会继续。