1

我正在尝试编写更好的 Javascript / JQuery 代码,并用我的 Grunt 设置 JSHint。

现在我已经完成了我的代码,它似乎没问题,没有使用“严格”。我已将我的代码拆分为许多文件、管理部分、lib 部分(用于我的 JQuery、Backbone)等。

所以我试图在我的一个文件的顶部添加“使用严格”。

现在 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");
};

它只是一个简单的函数,带有荧光笔类的颜色偶数/奇数行。

这一切都有效,但“使用严格”表示EvenOddRow未定义 me 函数。

所以我来宾我与函数的范围无关,还是只是因为函数在 AJAX 函数内?当我添加window.EvenOddRows时,JSHint 现在出现问题了。

那么最好的方法是什么?

如果有任何我没有发布的代码,有人需要查看,那么请告诉我,我会发布它。

*请不要说我有阅读障碍,所以我可能没有正确解释自己,如果是这样,请告诉我,我会重新提出我的问题,谢谢你的理解。

谢谢,

4

0 回答 0