我正在完成一项任务,我必须在Javascript中使用FizzBuzz游戏。问题是当我运行该函数时,我得到'Answer = undefined'。我必须用逗号分隔值打印它,但我想我可以为我自己解决这个问题;提前致谢。此致,托马斯。
function fizzBuzz(start, stop) {
for(var i = start; i <= stop; i++) {
if (i % 3 == 0 && i % 5 == 0) {
document.write("Fizz Buzz");
}else if(i % 3 == 0) {
document.write("Fizz");
}else if(i % 5 == 0) {
document.write("Buzz");
}else {
document.write(i);
}
}
}
ANSWER = (fizzBuzz(4, 22));
答案 0 :(得分:2)
因为fizzBuzz
函数没有返回任何内容。您需要从该函数返回结果。 document.write
将文本写入文档。
答案 1 :(得分:1)
你没有从你的功能中返回任何东西。
ANSWER将是您在函数中返回的内容。
如果您想要返回所有值,则需要执行类似
的操作var ans='';
...
if(whatever)ans + ='Fizz Buzz,';
....
return ans.substring(0,ans.length-1);
答案 2 :(得分:1)
对您的代码进行一些修改......
function fizzBuzz(start, stop) {
var i;
var results = [];
for (i = start; i <= stop; i++) {
if (i % 15 == 0) {
results.push('Fizz Buzz');
} else if (i % 3 == 0) {
results.push('Fizz');
} else if (i % 5 == 0) {
results.push('Buzz');
} else {
// cast to string just so all the results in the array are string
results.push(i + '');
}
}
return results;
}
ANSWER = fizzBuzz(4, 22); // output: [ '4', 'Fizz', 'Buzz', '7', '8', ...etc ]
答案 3 :(得分:0)
<html>
<script>
function fizzBuzz(start, stop) {
var str = 'ANSWER = ';
for(var i = start; i <= stop; i++) {
if (i % 3 == 0 && i % 5 == 0) {
str += "Fizz Buzz";
}else if(i % 3 == 0) {
str += "Fizz";
}else if(i % 5 == 0) {
str += "Buzz";
}else {
str += i;
}
if (i<stop)
str += ", ";
}
document.getElementById('writeto').innerHTML += str;
}
fizzBuzz(4, 22);
</script>
<body>
<a id='writeto'></a>
</body>
</html>