Javascript for…循环&if..else语句。。。我的代码看起来怎么样?

Javascript for…循环&if..else语句。。。我的代码看起来怎么样?,javascript,if-statement,for-loop,Javascript,If Statement,For Loop,写出从1到90的数字 使用for循环 当数字可被3整除时,写嘶嘶声 当数字可被5整除时,写入嗡嗡声 当数字可以被3和5整除时,写FizzBuzz 在您编写FizzBuzz之后,显示换行符 这是我的密码: script type="text/javascript">

写出从1到90的数字

使用for循环

当数字可被3整除时,写嘶嘶声

当数字可被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("&nbsp; FizzBuzz <br \>")
        else 
            if (count % 3 == 0)
                document.write("&nbsp; Fizz")
        else
            if (count % 5 == 0) 
                document.write("&nbsp; Buzz")
        document.write("<br />")      
    }
/* ]]> */
</script> 
我的问题是,我的代码是以一种最好的方式编写的吗?
为了更高效地编写它,我可以做些什么不同的事情呢?

而不是使用if逻辑,您可以使用switch

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("&nbsp; Fizz"); break;}
      case 'false-true':{ document.write("&nbsp; Buzz"); break;}
      case 'true-true' :{ document.write("&nbsp; FizzBuzz <br>"); break;}
    }
    document.write("<br />")      
}

我在这里做了几件事。首先,我减少了代码量,使所有内容都更具可读性。第二,我对测试结果进行了命名,以更好地表明它们可以被3整除,也可以被5整除。我还更新了代码,以完全反映您所述的需求。你说打印FizzBuzz时只需要换行。没有迹象表明您需要任何其他换行符

我做的最后一件事是减少冗余测试。如果一个数字可以被3和5整除,它会先打印Fizz,然后打印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>

您可以将计数%3==0和计数%5==0的结果存储在一个变量中,并在条件中重用它。此问题似乎与主题无关,因为它属于打开状态。听起来好像有人在参加面试测试。计数%3==0只是!计数%3感谢所有输入,很抱歉这是错误的部分,不知道有特定的代码审阅部分。感谢您的回复