2009-04-27 5 views
1

.ready()イベントでインライン関数のmyFunction visibileを作成するにはどうすればよいですか?あなたが代わりにmyFunctionまたはanotherFucntion_callbackの、すなわちmyFunction_callbackを関数の実際の名前を使用インライン関数と他のメソッドのスコープ

$(document).ready(function() { 
    ...stuffs... 
    myFunction(par1, par2, anotherFucntion_callback); 
} 
); 

function anotherFunction_callback(data) { 
..stuffs.. 
} 
+0

これを行うと、今のところうまくいくはずです。 myFunction_callbackはグローバルに表示されます。 – Rashack

答えて

1

私はあなたの質問をかなり受け取りませんでした。

myFunction(par1, par2, anotherFunction_callback); 

、という「データ」パラメータを含む:あなたがあなたの最後の引数として「myFunction_callback(データ)」を渡したいという意味ですか?その場合

ソリューションはかなりの標準は、1つ前にこれを書いている:

var temp = function() { anotherFunction_callback(data) }; 

代替構文は次のとおりです。一般的には

function temp() { myFunction_callback(data) }; 
// even though this looks just like a free function, 
// you still define it inside the ready(function()) 
// that's why I call it "alternative". They are equivalent. 

、あなたが1を持つ関数を渡す場合それ以上の引数を他の関数に渡す場合は、その形式を使用します。ここでは、基本的に別のものを呼び出す新しい引数なし​​の関数を作成します。新しい関数は "data"変数にアクセスできます。それは "閉鎖"と呼ばれています、あなたはそれについてもっと読んでみたいかもしれません。 もちろん、コールバックに引数を必要としない場合は、元の関数名を使用できます。

こちらがお役に立てば幸いです。

ps:関数宣言をインライン化して匿名にすることもできます。 myFunction(par1、par2、function(){myFunction_callback(data)});

$(document).ready(function() {}); 

のように見えます。

+0

あなたが言った最初のもの。ありがとう。 –

1

+0

例を間違って入力しました。もちろんmyFunction_callbackとanotherFunction_callbackは同じです。 –