2

次のコード行があります。

(function f() {});

グループ化の外で f() を参照する方法はありますか?

4

3 に答える 3

2

JavaScript の漏れやすい割り当てのおかげで、(ほぼ) 任意の式の値をいつでも取得できます。

 (function f() {}).valueOf() // == function f() {}
于 2013-07-10T16:28:25.887 に答える
2

(function f() {}).prototype.constructor

于 2013-07-10T16:20:40.807 に答える
1

Esailja の答えは革新的ですが、的を射ていません。たとえば、次のように関数式を使用している場合、使用し.prototype.constructorても意味がありません。

window.addEventListener("DOMContentLoaded", (function f() {}), false);

そのような場合、代わりに関数式を関数宣言にして、式を関数名に置き換えることを好みます。

window.addEventListener("DOMContentLoaded", (f), false);

function f() {}

上記のプログラムは完全に有効です。関数宣言は、プログラムに現れる前に呼び出すことができます。fこれで、「グループ外」を参照できるようになりました。これは一種の不正行為のようなものですが、繰り返しになりますが、これは人々が通常行う方法です (不必要な括弧を除いて)。

于 2013-07-10T16:42:28.850 に答える