ThoughtWorks-成都信息工程学院创新实验室

JS作业

2017-03-29  本文已影响161人  94ef806763bf

使用JS对不用数字进行判断输出不同的结果

数字 结果
3 Fizz
5 Buzz
7 Whizz
3 * 5 FizzBuzz
3 * 7 FizzWhizz
5 * 7 BuzzWhizz
3 * 5 * 7 FizzBuzzWhizz

使用JS过程中出现的一些问题

JS中定义变量都是使用var,并不会存在int ,double等类型。

直接改变了test的类型,原本是变量,但是使用function 来定义了test()

在run的方法中原本是直接使用num%数字判断是否能够整除,由于结果会有8种:数字本身,Fizz,Buzz,Whizz,以三个的组合。在优化之前是直接判断是8种情况的哪一种。优化代码:将8种情况简化为4中:数字本身,Fizz,Buzz,Whizz。一次判断一个数字,能否被3、5、7整除,能则输出Fizz,Buzz,Whizz。简化的思路是因为被3*5整除的数输出的结果是FizzBuzz正好是被3和被5整除的输出结果Fizz、Buzz的结合。

代码

function run(num) {
    var n='';
  if(num%3==0)
  {
    n=n+'Fizz';
  }
  if(num%5==0)
  {
    n=n+'Buzz';
  }
  if(num%7==0)
  {
    n=n+'Whizz';
  }
    if(n=='')
  {
    n=num.toString();
  }
  if(num==0)
  {
    n=0;
  }
    return n;
}
function test(num){
    var result = run(num);  
    document.write('The test '+ num +' result is   ' + result+'<br>')
}

test(3)
test(5)
test(7)
test(15)
test(21)
test(35)
test(105)

上一篇 下一篇

猜你喜欢

热点阅读