函数高级之递归调用,回调函数及原理

来源:互联网 发布:y系列电动机的技术数据 编辑:程序博客网 时间:2024/06/06 23:59
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>递归调用与回调函数</title>    <script>    //递归函数→就是函数自己调用自己(自己调用自己往往停不下来,所以需要结束条件终止)        //例1 (alert根本停不下来)        function go(){            alert("你是猴子请来的逗比吗?");            //自己调用自己            go();        }       // go();(函数预加载,被调用时执行)        //例2.(递归调用原理)        var num=0;        function go1(){            alert("我是猴子请来的!");            num++;            if(num<3){                go1();            }            alert("你来打我呀!");        }       // go1();        /*        递归原理:按顺序执行:        1.当执行到num=0时,执行一遍alert(),num=1,if语句判断num<3成立,        执行里面go1函数,因为go1就是本函数(本函数就是go()函数),所以又从上往下执行,反复从上往下执行,        直到if语句(num<3)不成立,此时执行下面的alert,返回上一层if语句,        此时代表上一层if语句执行完,然后开始执行下面的alert,,,        所以--我是猴子请来的!--先执行三遍,然后--你来打我呀!--在执行三遍!!!        */       /*       回调函数:回调函数表面意思就是回来调用,同时把函数也作为参数;        如果传入不同的函数,就会执行不同的事情;(你给什么,我就传什么);        例3        */            //参数为plus的函数名            var s=fn(4,2,plus);            //参数为miuns的函数名            var n=fn(9,3,miuns);           // 弹出s            alert(s);            //弹出n            alert(n);            function fn(a,b,fun){                //回调             var num=fun(a,b);                return num;            }            //一个简单的执行了加法运算的函数            function plus(a,b){                return a+b;            }            //一个简单的执行了减法运算的函数            function miuns(a,b){                return a-b;            }    </script></head><body></body></html>
原创粉丝点击