1

私はより良い Javascript / JQuery コードを書き込もうとしており、Grunt で JSHint をセットアップしています。

今、私は自分のコードを調べましたが、「strict」を使用しなくても問題ないようです。コードを多くのファイル、管理セクション、lib セクション (JQuery、バックボーン用) などに分割しました。

そのため、ファイルの先頭に「use strict」を追加しようとしています。

JSHint は、AJAX 呼び出しの成功セクション内の関数が定義されていないと言っていますか? このセクションで呼び出した関数は他のファイルにありますが、私の Grunt 設定では JavaScript ファイルをビルドして、関数ファイルがすべてのライブラリ ファイルのすぐ下にあるようにします。

したがって、私のAJAX関数は次のとおりです。

    $.ajax({
        url: "/getusers/"+SelectedSort,
        type: "GET",
        dataType: "html",
        success: function(data) {
           EvenOddRows(".Row"); <- function in question!
        },
        error: function(fail) {
            console.log(fail);
        }
    });

したがって、関数ファイルで、次のように関数を作成しました。

var EvenOddRows = function (RowToColour) {
   $(RowToColour + ":even").addClass("EvenNumber");
   $(RowToColour + ":odd").addClass("OddNumber");
};

ハイライタークラスで偶数/奇数行に色を付ける単純な関数です。

これはすべて機能しますが、「strictを使用」すると、EvenOddRow関数が定義されていないと表示されます。

だから私は関数の範囲とは関係がないことをゲストにしていますか、それとも関数がAJAX関数内にあるからですか? を追加するwindow.EvenOddRowsと、JSHint が問題になります。

それで、これを行う最良の方法は何ですか?

投稿していないコードがあり、誰かが見る必要がある場合は、お知らせください。投稿します。

*私は失読症なので、自分自身を正しく説明していない可能性があります。その場合はお知らせください。質問を言い直します。ご理解いただきありがとうございます。

ありがとうございます、

4

0 に答える 0