Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将分号置于括号前的asi模式_Javascript_Jshint_Automatic Semicolon Insertion - Fatal编程技术网

Javascript 将分号置于括号前的asi模式

Javascript 将分号置于括号前的asi模式,javascript,jshint,automatic-semicolon-insertion,Javascript,Jshint,Automatic Semicolon Insertion,我正在用JSHint过滤JavaScript,并启用了这个选项 "asi": true, "white": true 在我的代码中避免使用分号 但是我必须用括号开始我的新行,所以我必须在那一行的开头加一个分号 ;(function () { }) JSHint给我两个错误: “;”后缺少空格 如果我在“;”后面加一个空格我得到:期望“(”具有不同的标识 我注意到JSHint是这样高兴的 ; (function () { }) 但我认为这不是一个好的解决办法 有没有办法在不关闭JSH

我正在用JSHint过滤JavaScript,并启用了这个选项

"asi": true,
"white": true
在我的代码中避免使用分号

但是我必须用括号开始我的新行,所以我必须在那一行的开头加一个分号

;(function () {

})
JSHint给我两个错误:

  • “;”后缺少空格
  • 如果我在“;”后面加一个空格我得到:期望“(”具有不同的标识
我注意到JSHint是这样高兴的

;
(function () {

})
但我认为这不是一个好的解决办法


有没有办法在不关闭JSHint或white选项的情况下解决此问题?

JSHint中的遗留
white:true
选项用于强制执行其原始工具中提升的编码样式。无分号的JavaScript代码将不适合其编码样式。如果您不想受限于其样式指导原则,则不使用
white:true

不显示任何参数以自定义它们强制执行的编码样式

为了证明这个问题没有答案,我在JSHint源代码中找到了相关的检查:

function nonadjacent(left, right) {
    if (option.white) {
        left = left || token;
        right = right || nexttoken;
        if (left.line === right.line && left.character === right.from) {
            left.from += (left.character - left.from);
            warning("Missing space after '{a}'.",
                    left, left.value);
        }
    }
}

选中的唯一配置选项是
选项.white
,因此很遗憾,没有任何方法可以实现您想要的行为。如果您真的想要一个能够完全实现您想要的功能的工具,您可以轻松地分叉,添加另一个选项,并在
非相邻的
函数中选中它。

遗留的
white:true
oJSHint中的Option用于强制其原始工具中提升的编码样式。不带分号的JavaScript代码将不适合其编码样式。如果您不想受其样式准则的限制,请不要使用
white:true

不显示任何参数以自定义它们强制执行的编码样式

为了证明这个问题没有答案,我在JSHint源代码中找到了相关的检查:

function nonadjacent(left, right) {
    if (option.white) {
        left = left || token;
        right = right || nexttoken;
        if (left.line === right.line && left.character === right.from) {
            left.from += (left.character - left.from);
            warning("Missing space after '{a}'.",
                    left, left.value);
        }
    }
}

选中的唯一配置选项是
选项.white
,因此不幸的是,没有任何方法可以实现您想要的行为。如果您真的想要一个能够完全实现您想要的功能的工具,您可以轻松地分叉,添加另一个选项,并在
非相邻的
函数中选中它。

避免ha是否值得这么费劲是否输入分号?建议避免自动插入分号有很好的理由。JSHint的目的不仅仅是验证您正在编写解析的javascript。您可以试着运行它。虽然ASI上肯定有不同的理念,但在编写一个非常难看的构造以避免另一个,它真的更好吗?首先,在函数def之前放一个分号是一种解决方法,JSHint不会验证它似乎是合法的。伙计们,我真的关心并理解你们的观点,但这不是关于分号插入的争论,而是关于JSHint警告=)你们使用了其他JSHint选项吗?因为我在使用jshint.com时没有遇到这些错误。避免键入分号值得吗?建议避免自动插入分号有很好的理由。jshint的目的不仅仅是验证您正在编写解析的javascript。你可以试着运行它。虽然在ASI上肯定有不同的哲学,但当涉及到编写一个非常丑陋的构造来避免另一个构造时,它真的更好吗?首先,在函数def之前放一个分号是一种解决方法,JSHint不会验证它似乎是合法的。伙计们,我真的很关心并理解你的观点,但这不是关于分号插入的争论,而是关于JSHint警告=)你在使用其他JSHint选项吗?因为我在使用jshint.com时没有收到这些错误。