以下代码在ESLint中与Google的样式指南有效,但有一个例外;使用ESLint检查脚本时,闭包函数Counter
会出现no-unused-vars
错误。
/**
* Create a counter that is incremented and returned when called
* @return {object} - incrementor function
*/
function Counter() {
var _i = 0;
/**
* increment counter
* @return {int} - The incremented integer
*/
function _incrementor() {
_i++;
return _i;
}
_incrementor.incr = function() {
this.call();
return _incrementor;
};
_incrementor.val = function(val) {
if (!arguments.length) { return _i; }
_i = val;
return _incrementor;
};
return _incrementor;
}
我希望将此功能(或一种结构以相同的方式)作为独立脚本,我可以将其包含在我的HTML中,然后从不同的脚本调用,如下所示:
var count = Counter()
.val(5);
count.incr()
console.log(count.val()) // prints => 6
我尝试在脚本顶部包含/* exported Counter */
,但错误仍然存在。如何静音/修复此错误?
答案 0 :(得分:0)
以下是告诉linter允许全局Counter变量的一些选项:
选项#1 :当您需要使用全局变量时,将此注释添加到js文件的顶部:
public List<StudentMarkDetails> StudentMarks = new List<StudentMarkDetails>();
选项#2:将变量名称添加到eslint配置文件中的globals属性中:
/* globals Counter */
有关详细信息,请参阅ESLint documentation here。
注意:您还可以在配置文件中使用// eslintrc.js
module.exports = {
// ...
globals: {
'Counter': true
}
}
属性来预定义全局变量集,例如:browser(即localStorage),jquery,node等)。见 here。