Javascriptが割り当てられたすべての変数を検出する方法はありますか?たとえば、1つのjsファイルが一連のvar(グローバルスコープ)を作成する場合、後続のファイルは、名前と存在する可能性のあるものを知らなくても、すべてのvarを取得できますか?
前もって感謝します :)
編集、質問パート2:
これらの変数の値を取得するにはどうすればよいですか?これが私が試みたものです:
コメントの提案によると、これは私が最終的に得たものです:
for (var name in this) {
variables[name] = name;
variables[name]=this[name]
}
Flanaganの「JavaScript-TheDefinitive Guide」では、653ページに次のように記載されています。
var variables = ""
for (var name in this)
variables += name + "\n";
Firefoxの場合、[DOM]タブが表示されます。質問への回答ではありませんが、簡単です。
for in
Kinopikoの回答で提供されているループは機能しますが、IEでは機能しません。詳細については、以下のリンク先の記事で説明しています。
IEの場合は、RuntimeObject
を使用します。
if(this.RuntimeObject){
void function() {
var ro = RuntimeObject(),
results = [],
prop;
for(prop in ro) {
results.Push(prop);
}
alert("leaked:\n" + results.join("\n"));
}();
}
参照: