jQuery简单的回调函数

时间:2011-08-19 20:15:43

标签: javascript

嗨,我正在尝试写下一个函数,它将进行somenthing然后在完成时绑定一个回调,我想在初始化js函数时指定回调...

    function hello(arg1,arg2,callback){
    alert(arg1 + arg2);

   callback;
} 

hello('hello','world',function callback(){
alert('hey 2);
});

抱歉平庸的问题,我试图了解如何将回调函数传递给函数:P

感谢

3 个答案:

答案 0 :(得分:4)

你需要像其他任何东西一样调用该函数:

function hello(arg1,arg2,callback){
    alert(arg1 + arg2);

   callback();
} 

hello('hello','world',function callback(){
   alert('hey 2);
});

请注意,在JavaScript中有更好的方法来执行该回调,例如.apply()call(),但只有在计划在回调中使用this关键字时才需要这样做。

答案 1 :(得分:1)

在传递函数的函数内部,必须调用传递的函数,即

function hello(arg1,arg2,callback){
  alert(arg1 + arg2);

  callback(); // invoke the function (this is just one way)
} 

hello('hello','world', function (){
  alert('hey 2');
});

使用Function.prototype.apply()Function.prototype.call()

调用回调函数时,您可能会更进一步并为回调函数提供不同的上下文

答案 2 :(得分:1)

http://jsfiddle.net/wsNzL/

function A(a,b,func)
{
alert(a+b);
    func();
}

A(1,2,function(){alert("callback called");});