JS作业

作者: TW_羊咩咩_贾港帆 | 来源:发表于2017-04-02 00:25 被阅读0次

    作业要求及代码

    /*

    FizzBuzzWhizz 需求:

    when run(3) return 'Fizz'

    when run(5) return 'Buzz'

    when run(7) return 'Whizz'

    when run(3 * 5) return 'FizzBuzz'  //run 的参数为 3和5共同的倍数

    when run(3 * 7) return 'FizzWhizz'  //run 的参数为 3和7共同的倍数

    when run(5 * 7) return 'BuzzWhizz'  //run 的参数为 5和7共同的倍数

    when run(3 * 5 * 7) return 'FizzBuzzWhizz'  //run 的参数为 3、5和7共同的倍数

    其余情况:

    when run(n) return n  // n 可以为 非 3、5、 7或3、5、7的倍数的数字 如:run(2) return '2'

    作业要求:

    1.通过document.write()方法,将以上需求的每一条调用结果打印出来,结果会在屏幕右边显示

    2.为每一条需求写一个测试,测试例子请见实例方法 test1

    */

    function run(num) {

    if (num == 3){

    return 'Fizz';

    }

    else if (num == 5){

    return 'Buzz'

    }

    else if (num == 7){

    return 'Whizz'

    }

    else if (num % 3 == 0 && num % 5 == 0 && num % 7 == 0){

    return 'FizzBuzzWhizz'

    }

    else if (num % 3 == 0 && num % 5 == 0){

    return 'FizzBuzz'

    }

    else if (num % 3 == 0 && num % 7 == 0){

    return 'FizzWhizz'

    }

    else if (num % 5 == 0 && num % 7 == 0){

    return 'BuzzWhizz'

    }

    else{

    return num.toString();

    }

    }

    var test1 = function() {

    let result = run(2);

    if(result != 2) {

    document.write('The test 1 failed')

    }else {

    document.write('The test 1 result is : '+ result)

    }

    }

    test1()

    var test2 = function(){

    let result = run(3);

    if(result != 'Fizz'){

    document.write('The test 2 failed')

    }

    else{

    document.write('The test 2 result is : ' + result)

    }

    }

    test2()

    var test3 = function(){

    let result = run(5);

    if(result != 'Buzz'){

    document.write('The test 3 failed')

    }

    else{

    document.write('The test 3 result is : ' + result)

    }

    }

    test3()

    var test4 = function(){

    let result = run(7);

    if(result != 'Whizz'){

    document.write('The test 4 failed')

    }

    else{

    document.write('The test 4 result is : ' + result)

    }

    }

    test4()

    var test5 = function(){

    let result = run(15);

    if(result != 'FizzBuzz'){

    document.write('The test 5 failed')

    }

    else{

    document.write('The test 5 result is : ' + result)

    }

    }

    test5()

    var test6 = function(){

    let result = run(21);

    if(result != 'FizzWhizz'){

    document.write('The test 6 failed')

    }

    else{

    document.write('The test 6 result is : ' + result)

    }

    }

    test6()

    var test7 = function(){

    let result = run(35);

    if(result != 'BuzzWhizz'){

    document.write('The test 7 failed')

    }

    else{

    document.write('The test 7 result is : ' + result)

    }

    }

    test7()

    var test8 = function(){

    let result = run(105);

    if(result != 'FizzBuzzWhizz'){

    document.write('The test 8 failed')

    }

    else{

    document.write('The test 8 result is : ' + result)

    }

    }

    test8()


    出现的问题:

    第一次用js写代码,找了不少例子来看,而且不太熟悉jsfiddle的run方法,写test3的时候没有运行,当时还找了很久,才发现是test2里的write写错了,导致异常退出。

    解题方法:

    我先根据题目给的几种情况,写出了测试和简单的run函数,编译通过,之后调整run函数中判断的位置,可以让测试数据变化之后正常输出,先判断是否为3,5,7三个数,之后判断是否为三个数的公倍数,再判断是否为其中两个数的公倍数,最后else返回原数

    心得与收获

    1.接触一个编译器,一定要先看使用方法,不要直接上代码

    2.了解了用js写一个小程序的大致方法

    相关文章

      网友评论

        本文标题:JS作业

        本文链接:https://www.haomeiwen.com/subject/xeiwottx.html