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”中意外悬空“_”的主要内容,如果未能解决你的问题,请参考以下文章
json Lint Staged配置来处理.js和.ts文件