JavaScript函数的定义和调用

2022/7/29 1:22:50

本文主要是介绍JavaScript函数的定义和调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

//函数的定义和调用


        // 1, 写一个函数计算1到n的和, 并返回结果打印出来; (n为函数参数)         function sum(n) {             var sum = 0;             for (var i = 1; i <= n; i++) {                 sum += i;             }             return sum;         }         var a = sum(10);         console.log(a)
        // 2, 写一个函数计算n的阶乘, 并返回结果打印出来         function jc(n) {             var sum = 1;             for (var i = 1; i <= n; i++) {                 sum *= i;             }             return sum;         }         console.log(jc(5))         // 3, 写一个函数计算两个数的最小公倍数; 并返回结果打印出来         function gbs(max, min) {             var i = max < min ? min : max;             while (true) {                 if (!(i % max) && !(i % min)) {                     return i;                 }                 i++             }         }         console.log(gbs(4, 5))
        function gbs2(m, n) {             if (n > m) {                 var tmp = m                 m = n                 n = tmp             }             for (var i = m; i <= m * n; i += m) {                 if (!(i % m) && !(i % n)) {                     return i                 }             }         }         console.log(gbs2(2, 7))

        // 4,向一个函数传入不定数量的数值求和。         function su() {             var result = 0;             for (var i = 0; i < arguments.length; i++) {                 result += arguments[i];             }             return result;         }
        console.log(su(4, 1, 2, 4));


        // 1, 写一个函数判断一个年份是不是闰年         function years(year) {             if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {                 console.log(year + "是闰年")                 return true             }             else {                 console.log(year + "不是闰年")             }         }
        years(2000);         // 2, 写一个函数判断一个数是不是素数(又称质数, 除了1和本身以外不再有其他数整除)         function isSu(Number1) {             for (i = 2; i < Number1; i++) {                 if (Number1 % i == 0) {                     return false                 }             }             if (!Number1) {                 return true             }             if (Number1 < 0) {                 console.log("false")             }             return true         }         console.log(isSu(9) ? "是素数" : "不是素数")         // 3, 年月日分别为自定义函数的参数,判断某一个日期是否为合法的日期;         // 如: 2016年12月33日不是合法的日期         // 2016年11月13日是合法的日期
        /*    function days(y, m, d) {                if (y < 1 || m < 1 || m > 12 || d < 1 || d > 31) {                    console.log("不是合法日期");                    return false                }                    //二月判断                if (m == 2) {                    if (years(y)) {                        if (d > 29) {                            console.log("不是合法日期");                            return false                        }                        else {                            console.log("是合法日期");                            return true                        }                    }                    else {                        if (d > 28) {                            console.log("不是合法日期");                            return false                        }                        else {                            console.log("是合法日期");                            return true                        }                    }                    }                //判断有30的月份                switch (m) {                    case 4: case 6: case 9: case 11:                        if (d > 30) {                            console.log("不是合法日期");                            return false                        }                        else {                            console.log("是合法日期");                            return true                        }                }                }            days(2024, 7, 28);     */
  /*
        function checkDay(day, max) {             if (day > 0 && day <= max) {                 console.log("当前日期合法")             }             else {                 console.log("当前日期不合法")             }         }         function fn2(year, month, day) {             if (month > 0 && month <= 12) {                 if (month == 2) {                     if (fn(year)) {                         checkDay(day, 29)                     } else {                         checkDay(day, 28)                     }                 } else {                     switch (month) {                         case 4: case 6: case 9: case 11:                             checkDay(day, 30)                             break
                        default: checkDay(day, 31)                     }                 }             }         }         fn2(2025, 7, 28)     */


        function fn0(year) {             if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {                 return true             }         }         function fn1(day, max) {             if (day > 0 && day <= max) {                 console.log("当前日期合法")             } else {                 console.log("当前日期不合法")             }         }         function fn2(year, month, day) {             if (year > 0 && month > 0 && month <= 12) {                 if (month == 2) {                     if (fn0) {                         fn1(day, 29)                     } else {                         fn1(day, 28)                     }                 } else {                     switch (month) {                         case 4: case 6: case 9: case 11:                             fn1(day, 30)                             break                         default:                             fn1(day, 31)                     }                 }             } else {                 console.log("当前日期不合法")             }         }
        fn2(2024, 2, 30)


        // 用递归实现:         // 1, 计算1 + 2 + 3 +…+100的和
        //sum(n) == sum(n-1) + n         function sum(n) {             if (n == 1) {                 return 1;             }             else {                 return sum(n - 1) + n;             }
        }         console.log(sum(100));           // 2, 输入一个n, 打印n个hello world         function fn3(n) {             if (n == 1) {                 return "hello world \n";             }             else {                 return fn3(n - 1) + "hello world \n";             }
        }         console.log(fn3(10));





        // 1, 写个函数计算所有传入参数相乘的结果(参数数量不定)         function fn4() {             var result = 1;             for (var i = 0; i < arguments.length; i++) {                 result *= arguments[i];             }             return result;         }         var res = fn4(1, 2, 3, 4, 2, 2)         console.log(res)

        // 2, 写个函数实现加减乘除运算(两个操作数, 一个操作符)         function fn5(number1, number2, res) {             var result = 0;             switch (res) {                 case '+': result = number1 + number2; break                 case '-': result = number1 - number2; break                 case '*': result = number1 * number2; break                 case '/': result = number1 / number2; break                 case '%': result = number1 % number2; break                 default: console.log("false")             }             return result;         }         console.log(fn5(2, 5, '*'))           // 3, 写个函数实现n的阶乘         function factorial(n) {             if (n == 1) {                 return 1;             }             else {                 return factorial(n - 1) * n             }         }         console.log(factorial(3))           // 4, 找出0 - 100之间7的倍数,和包含7的数字         function fn6() {             for (var i = 1; i <= 100; i++) {                 if (!(i % 7) || parseInt((i / 10)) == 7 || i % 10 == 7) {                     console.log(i)                 }             }         }         fn6()           // 5, 不用循环,计算0 - 100以内的数字和         function fn7(n) {             if (n == 0) {                 return 0;             }             else {                 return fn7(n - 1) + n;             }         }         console.log(fn7(100))             // 6, 制作一个简易计算器(计算两个数的加减乘除, 带可手动输入数字和运算符)         // 7, 兔子繁殖问题,设有一只新生兔子,从第四个月开始他们每个月, 月初都生一只兔子, 新生的兔子从第四个月月初开始又每个月生一只兔子按此规律,并假定兔子没有死亡, n(n <= 20)个月月末共有多少只兔子?         function fn8(n) {             if (n == 1 || n == 2 || n == 3) {                 return 1             } else {                 return fn8(n - 1) + fn8(n - 3)             }         }         console.log(fn8(20))


    </script>     <!-- // 6, 制作一个简易计算器(计算两个数的加减乘除, 带可手动输入数字和运算符) -->     <input id="num1" type="text">     <select name="" id="tmp">         <option value="+">+</option>         <option value="-">-</option>         <option value="*">*</option>         <option value="/">/</option>         <option value="%">%</option>     </select>     <input id="num2" type="text">     <button id="btn" type="button">=</button>     <input id="res" type="text" disabled>
    <script>         function computer() {             var number1 = parseFloat(document.getElementById('num1').value)             var number2 = parseFloat(document.getElementById('num2').value)             var tmp = document.getElementById('tmp').value             var result;             switch (tmp) {                 case '+':                     result = number1 + number2;                     break;                 case '-':                     result = number1 - number2;                     break;                 case '*':                     result = number1 * number2;                     break;                 case '/':                     result = number1 / number2;                     break;                 case '%':                     result = number1 % number2;                     break;             }             document.getElementById("res").value = result
        }         document.getElementById("btn").onclick = computer     </script>

这篇关于JavaScript函数的定义和调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程