js回调函数使用方法

Javascript 中函数实际上是对象,它能被存储在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回;

释义:回调函数,一个函数被作为参数传递给另一个函数(在这里我们把另一个函数叫做“otherFunction”),回调函数在otherFunction中被调用。

//  注意到click方法中是一个函数而不是一个变量,
//  它就是回调函数
$("#btn").click(function() {
    alert("hello world");
});  

//或者上面写成以下
function click() { // 它就是回调函数
    alert("hello world");
}
$("#btn").click(click);  

1、回调函数是怎样运作的?

因为函数在Javascript中是第一类对象,我们像对待对象一样对待函数,因此我们能像传递变量一样传递函数,在函数中返回函数,在其他函数中使用函数。当我们将一个回调函数作为参数传递给另一个函数是,我们仅仅传递了函数定义。我们并没有在参数中执行函数。我们并不传递像我们平时执行函数一样带有一对执行小括号()的函数。

需要注意的很重要的一点是回调函数并不会马上被执行。它会在包含它的函数内的某个特定时间点被“回调”(就像它的名字一样)

2、实现回调函数的基本原理?
使用命名函数或者匿名函数作为回调,像之前的例子一样,第一种方法就是匿名函数作为回调(使用了参数位置定义的匿名函数作为回调函数)。第二种方式就是命名函数作为回调(定义一个命名函数并将函数名作为变量传递给函数)

常用方法,传递参数给回调函数:

方法一:匿名函数作为回调函数


var generalLastName = "BruceLee";
function getInput(options, callback){
    var arr = [];
    arr.push(options);
    //将全局变量generalLastName传递给回调函数
    callback(generalLastName,arr);
}
getInput({name:"long",speciality:"WingChun"}, function(generalLastName,arr){
    console.log(generalLastName + ":" + arr[0].speciality) 
});

方法二:命名函数作为回调函数

var generalLastName = "BruceLee";
function getInput(options, callback){
    var arr = [];
    arr.push(options);
    //将全局变量generalLastName传递给回调函数
    callback(generalLastName,arr);
}
function call(generalLastName,arr){
    console.log(generalLastName + ":" + arr[0].speciality) 
}
getInput({name:"long",speciality:"WingChun"}, call);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值