vars-on-top
要求变量声明位于其范围的顶部(vars-on-top)
vars-on-top
规则会在变量声明未在函数作用域顶部或程序顶部串行使用时生成警告。默认情况下,变量声明总是被JavaScript解释器无形地移动(“hoisted”)到其包含范围的顶部。此规则强制程序员通过手动将变量声明移至其包含范围的顶部来表示该行为。
规则细节
该规则旨在将所有变量声明保留在前面的一系列声明中。允许多个声明有助于提高可维护性,因此被允许。
此规则的错误
代码示例:
/*eslint vars-on-top: "error"*/
// Variable declarations in a block:
function doSomething() {
var first;
if (true) {
first = true;
}
var second;
}
// Variable declaration in for initializer:
function doSomething() {
for (var i=0; i<10; i++) {}
}
/*eslint vars-on-top: "error"*/
// Variables after other statements:
f(
var a;
此规则的正确
代码示例:
/*eslint vars-on-top: "error"*/
function doSomething() {
var first;
var second; //multiple declarations are allowed at the top
if (true) {
first = true;
}
}
function doSomething() {
var i;
for (i=0; i<10; i++) {}
}
/*eslint vars-on-top: "error"*/
var a;
f(
/*eslint vars-on-top: "error"*/
// Directives may precede variable declarations.
"use strict";
var a;
f(
// Comments can describe variables.
function doSomething() {
// this is the first var.
var first;
// this is the second var.
var second
}
进一步阅读
版本
这条规则是在ESLint 0.8.0中引入的。