JSHint函数未定义

时间:2015-03-05 12:57:12

标签: javascript jquery ajax use-strict

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

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

所以我试图在我的一个文件的顶部添加'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");
};

它只是一个简单的功能,颜色偶数/奇数行与荧光笔类。

这一切都有效,但是“使用严格”它表示我没有定义EvenOddRow函数。

所以我在拜访我没有与函数范围有关,或者只是因为函数是在AJAX函数中?当我添加window.EvenOddRows时,JSHint就像现在的问题一样。

那么最好的方法是什么?

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

*请注意我不是诵读困难,所以我可能没有正确的解释,如果是这样,请告诉我,我会重新提出我的问题,谢谢您的理解。

谢谢你,

0 个答案:

没有答案