对于循环&if.else语句..我的代码看起来怎么样
for...loop & if..else statements... how does my code look?
写入从1到90 的数字
使用for loop
当数字可被3整除时,写入"Fizz"
当数字可被5整除时,写入"嗡嗡"
当数字可以被3和5整除时,写下"FizzBuzz"
写下"FizzBuzz"后,显示换行
这是我的代码:
script type="text/javascript">
/* <![CDATA[ */
for (var count = 1; count <= 90; ++count ) {
document.write(count);
if (count % 3 ==0 && count % 5 == 0)
document.write(" FizzBuzz <br '>")
else
if (count % 3 == 0)
document.write(" Fizz")
else
if (count % 5 == 0)
document.write(" Buzz")
document.write("<br />")
}
/* ]]> */
</script>
我的问题是,我的代码是用一种最好的方式写的吗?我能做些什么来提高写作效率呢?
您可以使用开关而不是使用if逻辑
for (var count = 1; count <= 90; ++count ) {
document.write(count);
var logics = (count % 3 ==0) + '-' + (count % 5 == 0);
switch(logics){
case 'true-false':{ document.write(" Fizz"); break;}
case 'false-true':{ document.write(" Buzz"); break;}
case 'true-true' :{ document.write(" FizzBuzz <br>"); break;}
}
document.write("<br />")
}
我在这里做了几件事。首先,我减少了代码量,使所有内容都更可读。其次,我命名了测试结果,以更好地表明它们是什么(可以被3整除,也可以被5整除)。我还更新了代码,以完全反映您所说的需求。你说你只需要在打印FizzBuzz时换行。没有迹象表明你需要任何其他换行符。
我做的最后一件事就是减少多余的测试。如果一个数字可以被3和5整除,它会先打印Fizz(isDivBy3),然后再打印Buzz(因为它是isDivBy5),然后添加换行符。
<script type="text/javascript">
for (var count = 1; count <= 90; ++count ) {
var isDivBy3 = !(count % 3);
var isDivBy5 = !(count % 5);
if( isDivBy3 ) document.write('Fizz');
if( isDivBy5 ) document.write('Buzz');
if( isDivBy3 && isDivBy5 ) document.write('<br/>');
}
</script>
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何检查if/else语句中的随机条件
- Javascript else(如果不适用于所有语句)
- 在Javascript中为if/else语句添加OR
- geoTest函数-创建if/else语句
- 如何在javascript中的if或else块中运行一条jsp语句
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- 编写if-else语句的更好方法
- Javascript if和else语句不起作用
- 为什么它立即跳到我的else语句
- 空变量的 else 语句
- 在if/else语句中显示DIV
- 由 if / else 语句中的无效语法导致的语法错误
- 我可以用javascript中的switch或case语句重构if-else吗
- jQuery 验证正在复制 else 语句 |验证完成后,不会打印值
- JavaScript if else 语句来显示 html 标签
- 如何做if/else语句并使用控制台.log打印出来
- 此 JavaScript 代码无法正常工作(if-else 语句)
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- 如果不工作,则多条语句else