花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 63|回复: 12

JS同步回调(演示)

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2025-12-7 13:21 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    <script> // 高阶函数 :接收数组和回调函数为参数 const map = (ar, callback) => { const res = []; console.log('1. 开始运行 map() 函数'); ar.map(a => { res.push(callback(a)); }); console.log('2. map() 函数运行完毕'); return res; }; // 重复字串函数(叠字) const doubleStr = (str) => { console.log('3. 重复字符串'); return str.repeat(2); } // 待处理数组 const chars = ['欢', '菲', '柯']; console.log('4. 运行结果 : ', map(chars, doubleStr)); </script>

    评分

    参与人数 2威望 +80 金钱 +160 经验 +80 收起 理由
    红影 + 50 + 100 + 50 代码简洁,逻辑清晰易读!
    杨帆 + 30 + 60 + 30 代码简洁,逻辑清晰易读!

    查看全部评分

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 13:32 | 显示全部楼层
    预览一楼代码,页面上什么都看不到,需要按F12进入开发者工具栏目的控制台(console)才能看到JS打印出来的内容。

    叠字函数 doubleStr() 把所给字符串双份复制并拼接在一起,运行到这个函数的时候,它打印出的内容序号为 3 ;

    高阶函数 map() 将接收到的数组和函数两个参数进行处理:用函数参数处理数字中的每一个元素然后返回总的运行结果(新的数组)。期间它打印两次内容,首次是告知它开始工作,序号为 1,第二次告知它的工作结束了,序号为 2;

    函数应用时,声明一个 chars 数组并赋值,接着运行高阶函数,chars 作为数组参数,叠字函数作为函数参数。运行高阶函数 map() 的时候打印出运行结果,序号为 4 。

    整体打印内容的序号如下:1、3、2、4,其中 3 背打印 3 次。

    打印结果验证了同步回调的工作机制。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 13:43 | 显示全部楼层
    三楼说到:打印结果验证了同步回调的工作机制。

    如何理解?

    打印次序为 1、3(3)、2、4,序号3指向叠字函数。叠字函数 doubleStr() 背高阶函数 map() 作为回调函数使用,map() 作为工作函数,它一开始工作就告知我们它要开干了(序号1),所干的事情是用 callback 这个回调函数处理数组 ar 的每一个元素(欢、菲、柯 => 欢欢、菲菲、柯柯),这一系列业务办完之后从向我们邀功(序号2)。序号3的打印则是 callback 所指向的函数参数 doubleStr() 干的,这个函数在 map() 里面被运行了多少次就打印多少次,它插在序号1和序号2之间,说明序号2的打印被它们阻塞了,只有遍历完 ar 数组之后才放开(这就是单线程的工作机制,同一个时刻只做也只能做一件事),序号2的打印才有机会。

    JS是单线程运行。同步回调产生阻塞:被回调的函数必须做完它的所有工作后,主函数的后续工作才可以接着来。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-12-15 13:49
  • 签到天数: 395 天

    [LV.9]以坛为家II

    304

    主题

    2687

    回帖

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2025-12-7 15:16 | 显示全部楼层
    举例说明这个同步回调工作机制的实际应用效果会更直观呢
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 16:48 | 显示全部楼层
    杨帆 发表于 2025-12-7 15:16
    举例说明这个同步回调工作机制的实际应用效果会更直观呢

    回调函数是高阶函数的范畴,通称比较抽象,通俗讲,回调函数就是高阶函数作为参数使用的函数。

    回调函数有两种:同步回调、异步回调。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-12-15 13:49
  • 签到天数: 395 天

    [LV.9]以坛为家II

    304

    主题

    2687

    回帖

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2025-12-7 17:00 | 显示全部楼层
    马黑黑 发表于 2025-12-7 16:48
    回调函数是高阶函数的范畴,通称比较抽象,通俗讲,回调函数就是高阶函数作为参数使用的函数。

    回调函 ...

    谢谢老师,也太抽象了哇,其主要适用场景有哪些呢
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-12-7 19:47 | 显示全部楼层
    这个挺难理解的,不知这个回调是做什么用的呢?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 20:09 | 显示全部楼层
    杨帆 发表于 2025-12-7 17:00
    谢谢老师,也太抽象了哇,其主要适用场景有哪些呢

    这个多了去了,几乎所有的模块、插件都用上
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 20:11 | 显示全部楼层
    红影 发表于 2025-12-7 19:47
    这个挺难理解的,不知这个回调是做什么用的呢?

    做什么鬼用都行的

    一楼示例其实就是一种用法:将多个单字变为双字
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-15 00:17
  • 签到天数: 35 天

    [LV.5]常住居民I

    69

    主题

    792

    回帖

    4532

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪七彩绚丽金剪刀开朗大方花潮版主

    发表于 2025-12-7 22:23 | 显示全部楼层
    马黑黑 发表于 2025-12-7 13:43
    三楼说到:打印结果验证了同步回调的工作机制。

    如何理解?

    还是没理解,今晚问我儿子了,他说我要是理解了他的书就白读了,我没理解是对的,我相信我儿子的话,我是对的,等他回北京后给我演示一下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 23:04 | 显示全部楼层
    霜染枫丹 发表于 2025-12-7 22:23
    还是没理解,今晚问我儿子了,他说我要是理解了他的书就白读了,我没理解是对的,我相信我儿子的话,我是 ...

    对,这个没系统学过JS的人理解不了是对的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-15 00:17
  • 签到天数: 35 天

    [LV.5]常住居民I

    69

    主题

    792

    回帖

    4532

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪七彩绚丽金剪刀开朗大方花潮版主

    发表于 2025-12-7 23:27 | 显示全部楼层
    马黑黑 发表于 2025-12-7 23:04
    对,这个没系统学过JS的人理解不了是对的

    我儿媳妇说我们论坛氛围真好,年轻人还有耐心教你们老头老太太。我说这个小伙子可能想办个班吧,我这几天可忙了,知道了好些个标准件,儿媳妇说办班那也是应该。我儿子说别听傻娘瞎编排人,她在胡说
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-12-7 23:55 | 显示全部楼层
    霜染枫丹 发表于 2025-12-7 23:27
    我儿媳妇说我们论坛氛围真好,年轻人还有耐心教你们老头老太太。我说这个小伙子可能想办个班吧,我这几天 ...

    办班没必要。前端这个东东要学起来还是非常复杂的,套用代码过程中学学基本的做HTML帖子的方法就行了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-15 15:24 , Processed in 0.660094 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表