2012-02-20 8 views
1

私のウェブサイトのページテンプレートには、多くの* .jsファイルが含まれています。そのファイルのグローバルなjavascript変数の宣言(再宣言)によって、他のjavascriptコードと競合することがあります。 サイトにはたくさんのファイルがあるので、その変数が宣言されているコード内に場所を見つけるのは難しい(変数名は「名前」であり、検索結果には非常に多くのファイルが表示されます)。 コード(jsファイル名)のどこに特定の変数が宣言されているかを示すjavascriptコードデバッガはありますか?インクルードされたjsファイルの大きなセットで変数宣言が見つかりません

答えて

0

name =を検索するように変数名を検索するだけではなく、少なくともその変数の宣言/再宣言を取得するように検索範囲を絞り込む必要があります。中古。

二つの側面は、将来的には混乱のこの種のを避けるために

  1. を指摘し、あなたのJavaScriptは本当にそのようなグローバル変数を使用しないでください。このような競合を避けるために、変数の名前空間を試してください。方法についてはthis SO questionをお読みください。

  2. 不必要なHTTPリクエストを避けるために、すべてのJavaScriptファイルを1つのファイルに最小化するようにしてください。最小化プロセスでは、この種の可変競合についての警告が出される可能性が最も高いでしょう。

0

コードをJsLint http://www.jslint.com/lint.htmlで実行します。グローバル変数の内容だけを知りたいので、「最初のエラーで停止する」、「安全なサブセット」、および「adsafe」以外のすべてのチェックボックスをオンにします。

あなたはこの

(function(){ 
    var yourPrivateVariable = 0; 
    window.yourGlobalVariable = 0;   
}()); 
のような閉鎖の内側にあなたのコードを囲むことにより、変数のプライベートを作ることができます
関連する問題