Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 应为赋值或函数调用,而不是看到表达式_Javascript_Jslint_Jshint - Fatal编程技术网

Javascript 应为赋值或函数调用,而不是看到表达式

Javascript 应为赋值或函数调用,而不是看到表达式,javascript,jslint,jshint,Javascript,Jslint,Jshint,我对这个错误完全没有意见。我怎么能容忍呢?有标志或复选框吗 当你做一些事情,比如: v && arr.push(v); 与之相反: if (v) { arr.push(v); } 两者都做同样的事情。如果你把: window.test = function(v) { 'use strict'; var arr = []; if (v) { arr.push(v); } return arr; }; 到了最后,它

我对这个错误完全没有意见。我怎么能容忍呢?有标志或复选框吗

当你做一些事情,比如:

v && arr.push(v);
与之相反:

if (v) {
    arr.push(v);
}
两者都做同样的事情。如果你把:

window.test = function(v) {
    'use strict';
    var arr = [];
    if (v) {
        arr.push(v);
    }
    return arr;
};
到了最后,它缩小到了这一点:

window.test=function(a){var b=[];a&&b.push(a);return b};

我不认为JSLint有关闭它的选项


(具有更多选项的fork)有一个选项:expr选项,记录为“if ExpressionStatement应该允许作为程序使用”。

JSLint中没有此选项。您可以使用以下方法规避此问题:

var dummy = v && arr.push(v);
注意:
dummy
在此之后计算为
true

另一个解决办法是:

function expression(statement) { 
 'use strict';
 return statement; 
}
expression(v && arr.push);

可以添加以下行以忽略该警告:

/*jshint-W030*/


您可以阅读更多有关它的信息。

正在研究如何在使用时抑制它的人。你可以在这行的正上方写下下面的评论来忽略它

您还可以通过在文件的最顶部放置以下注释来抑制整个文件的警告

/* eslint-disable no-unused-expressions */

@迪乔:你也可以下载并在本地使用(我就是这么做的)。我使用首选选项集通过NodeJS运行它,极大地帮助我对正确的代码充满信心。:-)请再描述一下,为什么会发生这样的警告?它会起作用,但很愚蠢。minifier实际上会对其进行分类,但是为了可读性,最好只使用
if
语句,而不是IMO语句。这是真的。但你要求的是一种容忍的方式。添加了另一种解决方法。就像Crockford在某个地方说的:jsLint被设计成程序员的麻烦;~)错了奇妙的&&hack在jsLint中不起作用。。。可能取决于版本…答案与问题完全无关,问题是关于JSLint,而不是JSHint。但对于大多数登陆这里的人来说,这仍然是最有用的答案。“完全无关”?因为JSHint与JSLint完全无关?我建议您也提供这个特定规则的文档链接
/* eslint-disable no-unused-expressions */