-1

これが私の例です:

function a(b)
{
    b();
}

function b()
{
    alert("d");
}

function c()
{
    alert("e");
}

a(c);//Output e

フィドル付き:http://jsfiddle.net/YqeS3/

aから実際のb関数を起動するにはどうすればよいですか?

4

5 に答える 5

1

B関数がグローバルではなく、命名規則を使用したくない場合は、追加の関数を作成できます

function d() {
    b();
}

代わりにそれを呼び出します。ただし、コードを見る他の人(これには将来のバージョンも含まれます)の混乱がはるかに少なくなるため、引数と関数に別の名前を付ける必要があると思います。

于 2012-06-05T12:12:26.000 に答える
1

これらの関数がすべてグローバルスコープで定義されている場合は、次のように使用できます。

window.b();
于 2012-06-05T12:06:42.100 に答える
0

2つの方法で呼び出すことができます

b();

a(b);
于 2012-06-05T12:07:33.360 に答える
0

bから実際の関数を呼び出す必要があると仮定して、次のaように記述します。

window.b();
于 2012-06-05T12:08:21.223 に答える
0

関数aの変数bは、任意の名前を付けることができる単なるローカル変数です。aのスコープ内でbと呼ぶと、関数スコープ内でその名前の外部変数または関数を呼び出すことができなくなります。ここでSirkoが以前に回答したように、を使用して関数スコープの外で呼び出すことができます。

window.b();

問題がある場合は、スコープ変数の名前を変更することを検討してください。

于 2012-06-05T12:14:19.387 に答える