28 javascript jslint
如果我有这样的事情:
var blah = function() { };
Run Code Online (Sandbox Code Playgroud)
然后在代码中使用了blah,JSLint提示说删除空块是什么?
The*_*pha 28
我不知道是什么jsLint想法,但如果这是一个问题,你需要一个解决方案,那么你可以做如下的事情:
var blah = function() { return undefined; }; // or just return;
Run Code Online (Sandbox Code Playgroud)
更新:我想,Bergi猜测是正确的,因为,在jslint网站的Required Blocks部分:
JSLint期望if,while,do和for语句将使用块{即括号括在括号中} .JavaScript允许if这样写:if(condition)语句;已知该表单有助于许多程序员正在使用相同代码的项目中的错误.这就是JSLint期望使用块的原因:
if (condition) { statements; }
Run Code Online (Sandbox Code Playgroud)
经验表明,这种形式更具弹性.
因此,它可能只是检查空块{ }并使空白函数无效.
spl*_*tor 15
使用 lambda 表达式:
const blah = () => void 0;
Run Code Online (Sandbox Code Playgroud)
这将表明这blah是一个返回 的空函数undefined。
小智 5
如果你问什么JsLint选项关闭这个警告是:"debug:true"
奇怪的是,文档没有提到这种行为:
"容忍调试器语句"| debug | 如果应该允许调试器语句,则为true.在投入生产之前将此选项设置为false.
但是如果查看代码,可以看到它不会在debug选项设置为true时发出警告:
function block(kind) {
// A block is a sequence of statements wrapped in braces.
...
if (kind !== 'catch' && array.length === 0 && !option.debug) {
curly.warn('empty_block');
}
...
}
Run Code Online (Sandbox Code Playgroud)
这
{
...
}
Run Code Online (Sandbox Code Playgroud)
被视为代码块,提示让您知道它是空的(其中没有命令)。不过,您不必删除它,正如 @Katana314 所说,这可能是故意的。
| 归档时间: |
|
| 查看次数: |
58616 次 |
| 最近记录: |