JS Lint:'_fnGetTrNodes'意外悬空'_'

时间:2012-09-28 12:37:33

标签: javascript jquery jslint

我的代码如下所示:

$.extend($.fn.dataTableExt.afnSortData, {
    'dom-text': function (oSettings, iColumn) {
        var aData = [];
        $('td:eq(' + iColumn + ') input', oSettings.oApi._fnGetTrNodes(oSettings)).each(function () {
            aData.push(this.value);
        });
        return aData;
    },
    'dom-data-rk': function (oSettings, iColumn) {
        var aData = [];
        $('td:eq(' + iColumn + ')', oSettings.oApi._fnGetTrNodes(oSettings)).each(function () {
            aData.push($(this).attr('data-rk'));
        });
        return aData;
    }
});

我使用了JSLint,它出现了一个错误:

Warning 21  JS Lint: Unexpected dangling '_' in '_fnGetTrNodes'.

有人可以解释这意味着什么吗?我根本不理解错误信息:-(

4 个答案:

答案 0 :(得分:4)

JSLint根本不喜欢以下划线字符开头的标识符。更改标识符并且警告将消失,或将以下指令添加到文件顶部:

/*jslint nomen: true */

它不喜欢它们的原因是人们经常使用它来表示“私有”变量,但实际上并没有改变变量的行为。

答案 1 :(得分:2)

  

不要使用_(下划线)作为名称的第一个字符。它是   有时用来表示隐私,但实际上并没有提供   隐私。如果隐私很重要,请使用提供隐私的表单   成员。避免表现出缺乏能力的惯例。

有关JSLint here

使用的代码约定的更多信息

答案 2 :(得分:1)

您只需将“容忍标记中的悬空_”设置为true即可忽略此错误。

答案 3 :(得分:1)

好吧,JSlint不喜欢以下划线(_)开头的变量名。


最好使用JShint.com而不是JSlint。它是JSlint的一个分支,为您提供更多配置选项,并且不会显示这样的愚蠢错误。 https://stackoverflow.com/a/10763615/1149495