javascript回调函数

我主要还是做后台的东西多一些,前台真的是很小白!~

 

今天看jquery手册的时候,看到关于回调的一些使用,又学到一点,谨记之以备后查。

 

js里funciton是一等公民,跟java编程模型区别很大,关于js的回调使用的非常多,之前没有太多的总结。

 

例如jQuery里的ajax调用

 

$.get({'foo':'bar'},function(data){
   //deal the data returned
});

 最简单的回调,也是使用最多的方式,通过匿名内部函数的方式。

 

但是如果是已经定义好的函数作为回调呢,主要分为如下两种情况:

  • 无参回调函数
	function handle(){
          //some bussiness logic
        }
 

 

        回调可以这么写,就可以直接调用对应的函数:

$.get({'foo':'bar'},handle);

 

  • 有参数的回调函数
      function handle(data){
    // some bussiness logic 
}

 

    这时候如果直接使用按照无参的方式使用,写成
   $.get({'foo':'bar},handle(data));

   这种方式就会有问题了,因为如果这么写的话,handle(data)会先执行,并使用返回结果调用get方法,这样的回调

  结果一定是不正确的,那么正确的做法应该是:

 

 $.get({'foo':'bar'},function(data){handle(data)})

 

添加一个层匿名函数的封装,在匿名函数里进行有参回调函数的调用, 就是使用匿名内部函数来实现参数的传递。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值