JS中的回调函数

      在WEB开发当中,js有着举足轻重的作用。作为一门开发语言,js有着不用与常规语言的特色,如回调函数,匿名函数,函数闭包,原型等。本文作为第一篇,系列总结一下个人对于JS的理解。个人原创,因水平有限如有错误不吝赐教。

    回调函数并不是JS专有的概念,但是在JS当中回调到处可见。比如我们使用jquery,整个ajax系列函数都有一个callback。这个callback是怎么回事呢,就是当操作执行完毕后进行后续处理。由于js是客户端脚本,需要进一步处理的数据是不确定的,因为它请求的是服务器数据,而这个数据是不确定的。因此回调大有用武之地了。其他的服务器编程语言弱化了回调函数,使用的很少。

    通俗的用法是这样的,

    $.ajax({

         url:xxx,

         method:POST,

        success:function(res){

                 //处理res返回的数据


        }

        error:function(res){

                //错误处理

        }

     });

    success函数就是回调函数,为什么success方法能处理ajax返回的数据呢?这个res是什么?怎么传到success方法里面去的呢?以及怎么知道该调用success还是error方法呢?

    好了,本文主要讲的就是这个问题。知其然知其所以然,简单说一下我的理解,因为以前对这个还是比较困惑的。

   假如我自己封装了一个ajax函数。

  function ajax(obj){     //传入参数obj,对象

           var url=obj.url,

          var method=obj.url,

          //进行一系列处理

           ……

         if(xhr.success==200){

             obj.success(xhr.responseText);

         }

}

调用方式如下:

    ajax({

           url:xxx.

           method:POST,

          success:function(res){

                  //处理

          }

   });

因此可以看出并不是数据res丢给回调方法,回调方法属于形参,而不是实参。回调方法作为形参的话有什么好处呢,我们可以很方便的进行后续处理。

OK,回调函数就是这么回事了,下一篇讲一下JS当中的闭包。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值