【问题标题】:JS Lint: Unexpected dangling '_' in '_fnGetTrNodes'JS Lint:“_fnGetTrNodes”中意外悬空“_”
【发布时间】:2012-09-20 08:21:30
【问题描述】:

我的代码如下所示:

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

有人能解释一下这是什么意思吗?我根本不明白错误信息:-(

【问题讨论】:

    标签: javascript jquery jslint


    【解决方案1】:

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


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

    【讨论】:

      【解决方案2】:

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

      更多关于 JSLint 使用的代码约定here

      【讨论】:

        【解决方案3】:

        您可以简单地将“tolerate dangling _ in identifiers”设置为 true 以忽略此错误。

        【讨论】:

          【解决方案4】:

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

          /*jslint nomen: true */
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-10-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-08-02
            • 1970-01-01
            • 2015-10-18
            相关资源
            最近更新 更多