0

我的代码如下所示:

$.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

4 回答 4

4

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

/*jslint nomen: true */

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

于 2012-09-28T12:39:56.427 回答
2

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

更多关于 JSLint 使用的代码约定在这里

于 2012-09-28T12:41:31.097 回答
1

您可以简单地将“在标识符中容忍悬空 _”设置为 true 以忽略此错误。

于 2012-09-28T12:40:59.943 回答
1

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


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

于 2012-09-28T12:43:02.080 回答