js中callback执行

简介:
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="GBK" />
    <title>回调函数(callback)</title>
    <script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.9.0/jquery.min.js"></script>
    <script language="javascript" type="text/javascript">

        function add(p1,p2,callback) {
            console.log("开始"+p2);
            callback(p1+p2);
            console.log("结束"+p2);
        }

        add(1,2,function (r1) {
            console.log(r1);
            // 得到结果1,继续执行
            add(r1,3,function(r2) {
                console.log(r2);
                // 得到结果2,继续执行
                add(r2,4,function(r3) {
                    console.log(r3);
                    // 得到结果3,输出
                    print(r3);
                })
            })
        })

        function print(r) {
            alert(r);
        }

    </script>
</head>
<body >
回调函数(callback)
</body>
</html>
开始2
3
开始3
6
开始4
10
结束4
结束3
结束2

callback的作用就是,一步一步往下执行。等第一步执行完了,再继续执行第二步。
后面的数据,依托于前面的执行结果。

一层一层,往下执行。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7833045.html,如需转载请自行联系原作者

相关文章
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
168 0
|
前端开发 JavaScript
js开发:请解释Promise是什么,以及它如何解决回调地狱(callback hell)问题。
Promise是JavaScript解决异步操作回调地狱的工具,代表未来可能完成的值。传统的回调函数嵌套导致代码难以维护,而Promise通过链式调用`.then()`和`.catch()`使异步流程清晰扁平。每个异步操作封装为Promise,成功时`.then()`传递结果,出错时`.catch()`捕获异常。ES6的`async/await`进一步简化Promise的使用,使异步代码更接近同步风格。
178 1
|
存储 JavaScript 前端开发
js开发:请解释什么是回调函数(callback function),并给出一个示例。
回调函数是JavaScript中处理异步编程的一种常见模式,常用于事件驱动和I/O操作。它们作为参数传递给其他函数,在特定条件满足或任务完成后被调用。例如,`asyncOperation`函数接受回调函数`handleResult`,在模拟的异步操作完成后,调用`handleResult`并传递结果。这使得程序员能在操作完成后执行后续任务。
195 1
|
前端开发 JavaScript 数据库
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
616 1
|
JavaScript 前端开发 API
JS中的 回调函数(callback)
JS中的 回调函数(callback)
509 0
|
JavaScript 前端开发
js执行机制(同步,异步)
js执行机制(同步,异步)
js执行机制(同步,异步)
|
前端开发 算法 JavaScript
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
221 0
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
|
JavaScript 前端开发 测试技术
|
JavaScript 前端开发 API
Js 异步处理演进,Callback=>Promise=>Observer
异步调用就像是接水管,相互缠绕的管道越多,就越容易漏水。如何将水管巧妙连通,使整个系统有足够的弹性,需要去认真思考 🤔 对于 JavaScript 异步的理解,不少人感到过困惑:Js 是单线程的,如何做到异步的呢?实际上,Js 引擎通过混用 2 种内存数据结构:栈和队列,来实现的。栈与队列的交互也就是大家所熟知的 Js 事件循环~~
|
JavaScript 前端开发 UED
关于js暂停执行的方法
关于js暂停执行的方法
1039 0
关于js暂停执行的方法

热门文章

最新文章