1

私の Web サイトのページ テンプレートには、多くの *.js ファイルが含まれています。そのファイルの 1 つでグローバルな JavaScript 変数の宣言 (再宣言) を行うと、他の JavaScript コードと競合します。サイトには多くのファイルがあるため、その変数が宣言されているコード内の場所を見つけるのは困難です (変数名は 'name' で、検索結果に非常に多くのファイルが表示されます)。コード(jsファイル名)のどこで特定の変数を宣言したかを表示できるJavaScriptコードデバッガはありますか?

4

2 に答える 2

0

JsLint http://www.jslint.com/lint.htmlでコードを実行します。グローバル変数が何であるかを知りたいだけなので、「最初のエラーで停止」、「セーフサブセット」、「アドセーフ」を除くすべてのチェックボックスをオンにします。

このようなクロージャー内にコードを囲むことで、変数をプライベートにすることができます

(function(){
    var yourPrivateVariable = 0;
    window.yourGlobalVariable = 0;        
}());
于 2012-02-20T07:40:34.793 に答える
0

変数名を検索するだけでなく、検索を拡張して検索するname =場合は、変数が使用されているすべての場所に一致するのではなく、少なくともその変数の宣言/再宣言のみを取得するように検索を絞り込む必要があります。

2 つのサイド ノート

  1. 将来この種の混乱を回避するには、JavaScript でそのようなグローバル変数を使用しないようにする必要があります。このような競合を避けるために、変数に名前を付けるようにしてください。方法については、この SO の質問をお読みください。

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

于 2012-02-20T07:37:04.787 に答える