JS Lint:“_fnGetTrNodes”中意外悬空“_”

Posted

技术标签:

【中文标题】JS Lint:“_fnGetTrNodes”中意外悬空“_”【英文标题】:JS Lint: Unexpected dangling '_' in '_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'.

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

【问题讨论】:

【参考方案1】:

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


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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

/*jslint nomen: true */

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

【讨论】:

以上是关于JS Lint:“_fnGetTrNodes”中意外悬空“_”的主要内容,如果未能解决你的问题,请参考以下文章

js保存网页中意部分为图片

如何更改 vue.js 应用程序中的 lint 目录?

json Lint Staged配置来处理.js和.ts文件

如何同时使用不同的 eslint 配置 lint JS 和 TS 文件?

反应测试中意外令牌导入错误

每次保存时运行 es-lint 命令