2011-09-13 19 views
4

あなた(または他のライブラリ)がグローバルな名前空間に汚染されている変数を簡単に確認する方法はありますか?javascriptで汚染されたグローバルな名前空間のより良いビュー

(クロム)デバッガコンソールで、this/this.windowと入力すると、他のライブラリがなくても何百ものオブジェクトが表示されます。

標準のブラウザ空間オブジェクトをすべて削除し、グローバルを返す方法がありますか(または、スクリプトファイルで分類されます)。

答えて

2

あなたが他のスクリプトのロードの前にスクリプトを実行することができる場合、あなたは組み込みのint型のウィンドウプロパティのリストを格納することができます:

var builtInProps = [] 
for(key in window){ 
    builtInProps.push(key); 
} 

その後、すべてのスクリプトが

var pollution = []; 
for(key in window){ 
    // check to make sure this key is in builtInProps, otherwise push it to "pollution" 
} 
をロードした後、
+0

ええ、またはSchweiger氏の提案のようなファイヤーバグを使用してください。 – morgancodes

+0

これは素晴らしいクロスブラウザソリューションです。ありがとう。 – teleball

5

FireFox(http://getfirebug.com /)にFirebugプラグインを使用する場合は、[DOM]タブを参照してください。グローバルオブジェクトは太字である:

http://screencast.com/t/9RHaIqoEV

(これは私が現在BACKBONE.JSアプリをテストするユニットだ私のブラウザからである)

+0

この情報をお寄せいただきありがとうございます。 – teleball

+0

ようこそ。 –

関連する問題