js回调函数

js回调函数

最近在学习中,常常遇到一个名词:回调函数。不是很理解,便去网上搜查资料,仔细的学习。发现,实际上,我们经常会用到回调函数。今天就把学习内容大致整理下,大家共同学习。


概述:在javaScript中,回调函数的定义为:函数A作为参数传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。

回调函数的使用场合:
首先看几个经典的例子(你一定用过它们)
  $.get('ajax/test.html',function(data){
            $('.result').html(data);
            alert("Load was performed.")
        });//异步请求的回调函数

        $("#target").click(function(){
            alert("Handler for .click() called.");
        });//点击事件的回调函数

        this.tabs.forEach(function(tab,index){
            if(tab.selected){
                this.focustab=this.tabs[index];
            }
        }.bind(this));//数组中遍历每一项调用的回调函数

  • 异步执行(例如读文件,发送HTTP请求)
  • 事件监听和处理
  • 设置超时和时间间隔的方法

回调函数传递参数的方法:

1.将回调函数的参数作为与回调函数同等级的参数传入

eg:

 function say(value){
    alert(value);
}
 function execute(someFunction,value){
    someFunction(value);
 }
 execute(say,'hi,js');

2.回调函数的参数在调用回调函数的内部创建

       function say(value) {
            alert(value);
        }

        function execute(someFunction) {
            var value = {
                name: 'hello'
            };
            someFunction(value);
        }
        execute(say);

回调函数的作用

  例如:一般来说Ajax最大的一个回调函数就是onreadystatechange,这个应该成为事件,每次XMLHttpRequest这个Object在URL请求,状态改变的时候就会触发这个事件。那么你用onreadystatechange=一个函数,这样让你的函数在XMLHttpRequest state change 的时候可以及时捕捉到。当然就不用setTimeout来捕捉啦。所以会方便,在你的回调函数里面可以检测Ajax对象的值,包括返回的请求的HTML,当然只有在readyState=4的时候而且status=200的时候才能用。status就是HTML状态,有200,400,500之类的。

总之,回调函数就是一个自定义的函数,在发生特定的事件的时候调用来处理这个事件的函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值