js中的回调函数

- 日理万妓 2023-02-23 08:27 211阅读 0赞
  • 一个函数被作为参数传递给另一个函数(在这里我们把另一个函数叫做otherFucntion),回调函数在otherFunction中被调用

回调函数原理:

  1. 假如你去商店买东西,刚好你要的东西商店没货,于是你在店员那里留下了你的电话号,过了几天 商店有货了,店员就打了你的电话,然后你接到电话就到店里去取货了,在这里例子中, 你的电话号就叫做回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件 店员给我打电话叫做调用回调函数,我去店里取货叫做响应回调事件

js中的函数可以作为参数进行传递

  1. <button id="btn_1">回调函数1</button>
  2. <button id="btn_2">回调函数2</button>
  3. <script>
  4. //使用命名函数作为回调
  5. $("#btn_1").click(clickMe)
  6. function clickMe(){
  7. console.log(执行了回调函数1)
  8. }
  9. //这里的clickMe就是回调函数
  10. //使用匿名函数作为回调
  11. $("#btn_2").click(function(){
  12. console.log("执行了回调函数2")
  13. })
  14. </script>

页面执行之后:

20200706155909209.png

执行回调函数的基本原理:

传递参数给回调函数:

两种回调函数传参的方法

第一种: 将回调函数的参数作为回调函数同等级的参数进行传递

  1. //匿名函数作为回调函数
  2. var generalLastName = "Cliton";
  3. function getInput(options, callback) {
  4. var arr = [];
  5. arr.push(options);
  6. //将全局变量generalLastName传递给回调函数
  7. callback(generalLastName, arr);
  8. }
  9. getInput({
  10. name: "Rich",
  11. speciality: "Javascript"
  12. }, function (generalLastName, arr) {
  13. console.log(generalLastName + ":" + arr[0].speciality) // Cliton:Javascript
  14. });
  15. //命名函数作为回调函数
  16. var generalFirstName = "Eric";
  17. function gotInput(options, call) {
  18. var arr = [];
  19. arr.push(options);
  20. //将全局变量传递给回调函数
  21. call(generalFirstName, arr);
  22. }
  23. function calltest(generalFirstName, arr) {
  24. console.log(generalFirstName + ":" + arr[0].speciality) // Cliton:Javascript
  25. }
  26. gotInput({
  27. name: "rich",
  28. speciality: "Javascript"
  29. }, calltest)

20200706160522583.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwNjMxMDYz_size_16_color_FFFFFF_t_70

第二种:回调函数的参数在调用回调函数内部创建

  1. var generalFirstName = "Eric";
  2. function gotInput(call) {
  3. var arr = [{
  4. name: "rich",
  5. speciality: "Javascript"
  6. }];
  7. arr.push(generalFirstName);
  8. //将全局变量传递给回调函数
  9. call(arr);
  10. }
  11. function calltest(arr) {
  12. console.log(generalFirstName + ":" + arr[0].speciality) // Cliton:Javascript
  13. }
  14. gotInput(calltest)

20200706161257875.png

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js函数

    一个函数被作为参数传递给另一个函数(在这里我们把另一个函数叫做otherFucntion),回调函数在otherFunction中被调用 回调函数原理:     

    相关 js函数

    1:回调函数: 定义了,但没有调,但最终执行了 2: dom事件回调函数 定时器回调函数 ajax请求回调函数 生命周期回调函数 documen

    相关 js函数

    平常的前端开发工作中,编写js时会有很多地方用到函数的回调。 最简单的例子就是: <script language="javascript" type="text/

    相关 js函数错误

    由java后台根据判断 返回js需要调用的函数,但是在运行的时候判断为不是函数。但是检查js文件后确实有该名称的函数存在。所以添加eval()函数。不要在运行的js函数中添加,

    相关 js函数使用

    在第一次学js的时候,估计很多人对回调函数很蒙,今天有空梳理总结下回调函数,算是一次学习,算是一次总结,也算是一次分享。 文章目录 回调函数执行流程