2011-08-19 6 views
2

とjQueryの単純な関数こんにちはコールバック

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

    callback; 
} 

hello('hello','world',function callback(){ 
alert('hey 2); 
}); 
...関数ウィッヒが終わったとき、私はjsの機能を初期化するときにコールバックを指定したいコールバックをバインドし、その後somenthing行います書き留めしようとしています

は陳腐な質問には申し訳ありませんが、私は、関数にコールバック関数を渡す方法を理解しようとしている:あなたが何かのように、その関数を呼び出す必要がP

おかげ

答えて

4

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

    callback(); 
} 

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

.apply()またはcall()のように、コールバックを実行するより良い方法がありますが、コールバック内でthisキーワードを使用する予定がある場合にのみ必要です。

1

あなたに関数を渡す関数の内部では、あなたはさらに行くとFunction.prototype.apply()またはFunction.prototype.call()

を使用して、それを呼び出すときに、コールバック関数に異なるコンテキストを与えるかもしれない

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

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

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

すなわち、渡された関数を呼び出す必要があり