0

次のような長いJavaScript関数があるとします

function test() {
    var x; 
    var a;
    ...
    ...
    ...
    ...
    ...
}

関数自体に、これまでに定義された変数を教えてもらう方法はありますか。

function test() {
   var x; 
   var a;
   ...
   ...
   ...
   ...
   ... // bit of code that would say to me: x and a. 
}
4

2 に答える 2

1

それには反省が必要です。しかし、Javascriptにはリフレクションのサポートがほとんどありません。次のような場合を除いて、私はあなたがそれを行うことができるとは思いません:あなた自身の関数を解析してください。

于 2009-12-10T13:37:17.657 に答える
1

いいえ、結果に依存しFunction#toStringて文字列処理を実行することなくしてはいけません。これはお勧めできません。Function#toStringほとんどのブラウザで関数のソースコード(コメント付きまたはコメントなし)を提供するものとして実装されていますが、仕様によって標準化されておらず(最新のものでも)、本番コードでは使用しません。

于 2009-12-10T13:37:46.317 に答える