js回调函数例子_c回调函数简单例子

js回调函数例子_c回调函数简单例子回调函数每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

回调函数

回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码

js中函数=对象,对象可以作为参数传给函数。
函数可以作为参数给一个函数,这个参数就是回调函数

使用

例子1

回调函数是异步操作最基本的方法。

下面是两个函数f1和f2,编程的意图是f2必须等到f1执行完成,才能执行。如果f1是异步操作,f2会立即执行,不会等到f1结束再执行。

function f1() { 
   
}

function f2() { 
   
}
f1();
f2();

Jetbrains全家桶1年46,售后保障稳定

改写回调

function f1(callback) { 
   
  callback();
}

function f2() { 
   
}

f1(f2);

例子2

function add(num1, num2, callback){ 
   
	var sum = num1 + num2;
	callback(sum);
}

function print(num){ 
   
	console.log(num);
}

add(1, 2, print);		//=>3

例子3

匿名回调函数

function add(num1, num2, callback){ 
   
	var sum = num1 + num2;
	callback(sum);
}

add(1, 2, function(sum){ 
   
	console.log(sum);		//=>3
});

回调函数优缺点

  • 优点是简单、容易理解和实现
  • 缺点是不利于代码的阅读和维护,各个部分之间高度耦合(coupling),使得程序结构混乱、流程难以追踪(尤其是多个回调函数嵌套的情况),而且每个任务只能指定一个回调函数。

使用场景

  • 异步编程
  • 事件监听、处理
  • setTimeout、setInterval方法

参考链接

https://javascript.ruanyifeng.com/advanced/single-thread.html#toc2
https://www.w3cplus.com/javascript/Sexy-Javascript-understand-the-callback-function-with-the-use-of-Javascript-in.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230917.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月15日 下午3:15
下一篇 2025年6月15日 下午3:43


相关推荐

  • W3C标准是_关于w3c标准下列说法错误的是

    W3C标准是_关于w3c标准下列说法错误的是W3C简介什么是W3C?万维网联盟(WorldWideWebConsortium)创建于1994年10月工作是对web进行标准化创建并维护WWW标准使用W3C的目的?为了让任何人在任何时间、任何地点、通过任何设备访问web内容。作为用户和浏览器制造商之间的中间层,要想办法满足下游的用户和上游不同浏览器看到的是同样的内容,让页面、程序能支持所有的浏览器,能够满足尽可能多的用户标准内容1、DOC…

    2025年12月13日
    4
  • 成立仅两年!登顶全球榜单!这家AI企业,凭啥?

    成立仅两年!登顶全球榜单!这家AI企业,凭啥?

    2026年3月12日
    3
  • java导出文件名乱码

    java导出文件名乱码问题背景 javaWeb 项目导出文件名乱码 本地 window7 调试项目导出文件名正常 线上 linux centos7 环境导出文化名乱码 依据百度经验做尝试 1 使用 StringnewStr newString xxx getByte 字符类型 1 字符类型 2 并没有起到任何积极作用 后来得知 此方法的用途是这样的 java 程序获取到一个字符串 各种可能的途径获取 发现此字符串是乱码的 可以直接控制台打出来或者 debug 看 然后可以用这个 newString 方法将乱码的字

    2026年3月26日
    1
  • 关于ASp.net中的session失效问题的解决办法之一

    关于ASp.net中的session失效问题的解决办法之一
    在Web.config中的sessionstate段中 加入cookieless=”true”。一般即可解决问题。

    2022年7月16日
    18
  • vue文件夹上传_vue上传文件前端完整实例

    vue文件夹上传_vue上传文件前端完整实例在项目中我们使用input标签设置type属性为file,上传文件后需要清空选中的文件,<inputtype=”file”ref=”clearFile”name=”file”id=”file”><button@click=”clearFile”></button><script>methods:{clearFile(){ this.$refs.clearFile.value=”;//清空file文件}}&

    2022年8月15日
    7
  • 无刷直流电机simulink模型(ansoft电机仿真教程)

    这段时间刚开始接触Matlab中的Simulink仿真,我就结合自己的专业,利用Simulink进行了无刷直流电机的仿真,因为Simulink工具箱里面有很多可用的模块,所以建模过程变得非常简单。在Matlab界面中new->model之后,找到SimulinkLibraryBrowser,这里面有系统自带的很多模块,接下来我们就需要找到自己所需要的模块了,了解无刷直流电机的工作原理以后…

    2022年4月11日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号