題目:
FizzBuzzWhizz 需求:
when run(3) return 'Fizz'
when run(5) return 'Buzz'
when run(7) return 'Whizz'
when run(3 *** 5) return 'FizzBuzz' //run 的參數(shù)為 3和5共同的倍數(shù)
when run(3 *** 7) return 'FizzWhizz' //run 的參數(shù)為 3和7共同的倍數(shù)
when run(5 *** 7) return 'BuzzWhizz' //run 的參數(shù)為 5和7共同的倍數(shù)
when run(3 **** 5**** 7) return 'FizzBuzzWhizz' //run 的參數(shù)為 3叠殷、5和7共同的倍數(shù)
其余情況:
when run(n) return n // n 可以為 非 3、5筷频、 7或3速勇、5、7的倍數(shù)的數(shù)字 如:run(2) return '2'
作業(yè)要求:
1.通過document.write()方法养匈,將以上需求的每一條調(diào)用結(jié)果打印出來,結(jié)果會在屏幕右邊顯示
2.為每一條需求寫一個測試呕乎,測試?yán)诱堃妼?shí)例方法 test1
代碼:
/**
* Created by Aya on 2017/3/29.
*/
function run(num) {
if(num==3)
return 'Fizz';
if(num==5)
return 'Buzz';
if(num==7)
return 'Whizz';
if(num%3==0&&num%5==0){
if(num%7==0)
return 'FizzBuzzWhizz';
else
return 'FizzBuzz';
}
if(num%3==0&&num%7==0){
if(num%5==0)
return 'FizzBuzzWhizz';
else
return 'FizzWhizz';
}
if(num%5==0&&num%7==0){
if(num%3==0)
return 'FizzBuzzWhizz';
else
return 'BuzzWhizz';
}
else
return result=num;
}
var test = function() {
let result = run(4);
if(result == 'Fizz') {
document.write('when run(3) return '+ '"'+result+'"')
}
//let result = run(5);
if(result == 'Buzz') {
document.write('when run(5) return '+ '"'+result+'"')
}
if(result =='Whizz'){
document.write('when run(7) return '+ '"'+result+'"')
}
if(result =='FizzBuzz'){
document.write('when run(3*5) return '+ '"'+result+'"')
}
if(result =='FizzWhizz'){
document.write('when run(3*7) return '+ '"'+result+'"')
}
if(result =='BuzzWhizz'){
document.write('when run(5*7) return '+ '"'+result+'"')
}
if(result =='FizzBuzzWhizz'){
document.write('when run(3*5*7) return '+ '"'+result+'"')
}
else
document.write('when run ('+result+') return '+ result)
}
test()
總結(jié):
這道題一上手就是想著按順序做多個判斷猬仁,每個判斷都作測試,然后進(jìn)行輸出的烁,測試結(jié)果也沒有問題。
但是經(jīng)過和組內(nèi)的一些成員交流后發(fā)現(xiàn)其實(shí)這道題的可能性有很多诈闺,很靈活,而自己用的應(yīng)該算是代碼量最多思路最簡單的一種买雾,其實(shí)還可以使用定義數(shù)組將所顯示的字符串進(jìn)行存儲把曼,然后以是否輸出該字符串作為判斷標(biāo)準(zhǔn)嗤军,這樣就只需要進(jìn)行三次判斷就可以了晃危,幾乎減少了一半的代碼量。而在上傳第一稿的時候看到王靜同學(xué)用的方法震叮,代碼量幾乎為我的三分之一,方法兼容性也很好苇瓣,很受啟發(fā)偿乖。