1

このJavaScriptを検討してください:

var a = function(arg1) {
    alert(arg1);
}

a("hello");

a(function() { return "world"; });

2番目の呼び出しで「世界」を返すにはどうすればよいですか? 現在、関数全体を文字列として返します。

4

3 に答える 3

2

関数式を実行するだけで戻り、関数worldに渡されますa

a((function() { return "world"; })());

デモ

于 2013-03-27T21:03:03.387 に答える
1

関数を参照するだけでなく、関数を呼び出す必要があります。

alert(arg1());

a文字列または関数のいずれかで呼び出されることに対処する必要がある場合は、引数の型をチェックして、typeofそれらを別の方法で処理する必要があります。

于 2013-03-27T21:02:27.407 に答える
1

2番目の呼び出しarg1は関数です。

結果を取得するには、関数を実行する必要があります。

alert(arg1());
于 2013-03-27T21:02:37.703 に答える