美文网首页
javascript回调函数、递归函数

javascript回调函数、递归函数

作者: ssttIsme | 来源:发表于2019-12-01 19:37 被阅读0次

javascript回调函数、递归函数

一、回调函数

通过函数的指针来调用函数(把一个函数的指针作为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数)。

    function math(num1,num2) {
        return rectangle(num1,num2);
    }
    document.write(math(8,2));
    function rectangle(num1,num2) {
        return num1*num2;
    }

输出 16

    function math(num1,num2,fun) {
        return fun(num1,num2);
    }

    function rectangleS(num1,num2) {
        return num1*num2;
    }
    function rectangleL(num1,num2) {
        return (num1+num2)*2;
    }
    document.write(math(8,2,rectangleS));
    document.write(" ");
    document.write(math(8,2,rectangleL));

输出 16 20

通过匿名方法调用

    function math(num1,num2,fun) {
        return fun(num1,num2);
    }

    document.write(math(4,5,function (num1,num2) {
        return num1*num2;
    }));

输出 20

定义和调用同时进行(用于一次性回调)

    (function math(num1,num2,fun) {
        return fun(num1,num2);
    })(7,8,function(num1,num2){
        document.write((num1+num2)*2-1);
    });

输出 29

递归函数

在函数内部之间或间接地调用自己

    function dec(num) {
        if(num>1){
            dec(--num);
        }
        document.write(num+" ");
    }
    dec(3);

输出 1 1 2


递归函数

阶乘

    function fac(num) {
        if(num==1){
            return num;
        }else {
            return num*fac(--num);
        }
    }
    document.write(fac(3));

输出 6


阶乘

三、内嵌函数(闭包)

相关文章

网友评论

      本文标题:javascript回调函数、递归函数

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