zoukankan      html  css  js  c++  java
  • 对JS回调函数的一点理解

    之前写的异步JS是纯译文,现在刚好工作了2个月,想谈谈我自己对JS回调函数的一点理解,欢迎渴望大家的指正和交流。

    回调函数从形式上看就是把函数b作为参数传给函数a,在a的函数体里调用函数b

    1 function a(b) {
    2     b();
    3 }
    4 function b() {
    5     ...
    6 }

    这样做的意义是什么呢

    1.控制执行流程,函数b只能在函数a执行后才执行

    2.根据不同的需求,可以有各种各样的函数b

    3.最重要的,是可以把通过函数a获取的数据传递给函数b,在b里对数据做处理

    1  function a(callback) {
    2      ...
    3      var record = reallyComplexProcedure();  //经过一系列复杂的操作,拿到了数据record
    4      if (typeof callback === "function") {
    5      callback(record);
    6    }
    7 } 8 function b(data) { 9 ... //对data做处理 10 } 11 a(b);

    我们对函数a里的record感兴趣,并在程序的其他的地方想要对record做各种各样的操作,那么就可以传入对应的回调函数。当然,这种方式的一个明显缺点(我目前的理解)是如果我们对函数a里的record2又感兴趣了,那么就不够灵活了。

  • 相关阅读:
    DeflateStream类
    BufferedStream类
    FileStream类
    Asp.net MVC Comet 推送
    MVC 读书笔记
    MVC部署
    MVC系统过滤器、自定义过滤器
    MVC 路由规则
    MVC 模型绑定
    边双+点双模板
  • 原文地址:https://www.cnblogs.com/coiorz/p/4714910.html
Copyright © 2011-2022 走看看