首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vars-on-top

vars-on-top规则会在变量声明未在函数作用域顶部或程序顶部串行使用时生成警告。默认情况下,变量声明总是被JavaScript解释器无形地移动(“hoisted”)到其包含范围的顶部。此规则强制程序员通过手动将变量声明移至其包含范围的顶部来表示该行为。

规则细节

该规则旨在将所有变量声明保留在前面的一系列声明中。允许多个声明有助于提高可维护性,因此被允许。

此规则的错误代码示例:

代码语言:javascript
复制
/*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++) {}
}
代码语言:javascript
复制
/*eslint vars-on-top: "error"*/

// Variables after other statements:
f();
var a;

此规则的正确代码示例:

代码语言:javascript
复制
/*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++) {}
}
代码语言:javascript
复制
/*eslint vars-on-top: "error"*/

var a;
f();
代码语言:javascript
复制
/*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中引入的。

资源

扫码关注腾讯云开发者

领取腾讯云代金券