js中的回调函数

回调就是一个函数的调用过程。那么就从理解这个调用过程开始吧。函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。

其实中文也很好理解:回调,回调,就是回头调用的意思。函数a的事先干完,回头再调用函数b。

这里必须清楚一点:函数b是你以参数形式传给函数a的,那么函数b就叫回调函数。

 也许有人有疑问了:一定要以参数形式传过去吗,我不可以直接在函数a里面调用函数b吗?确实可以。求解中。

<解惑:如果你直接在函数a里调用的话,那么这个回调函数就被限制死了。但是使用函数做参数就有下面的好处:当你a(b)的时候函数b就成了回调函数,而你还可以a(c)这个时候,函数c就成了回调函数。如果你写成了function a(){...;b();}就失去了变量的灵活性。>

    <script language="javscript" type="text/javascript">
        function a(callback) {
            alert("我是parent函数a");
            alert("调用回调函数");
            callback();
        }
        function b() {
            alert("我是回调函数b");
        }
        function c() {
            alert("我是回调函数c");
        }

        function test() {
            a(b);
            a(c);
        }
    </script>
<body>
<h1>学习js回调函数</h1>
<button onclick="test()">click me</button>
<p>应该看到两个回调函数</p>
</body>
原文地址:https://www.cnblogs.com/wei-dong/p/5880416.html