JSLint意外的论点'

时间:2017-01-07 18:25:04

标签: javascript node.js arguments jslint

是否有可以声明忽略警告的JSLint注释?另外,为什么它会警告错误?我记得在某个地方读取它们不是真正的数组,因此编码器必须得到参数长度并通过for循环将值传递到数组中。

这是我使用发布here的参数的一种方式。我还将 <html> <body> <h1>mySQL</h1> <?php $server = "mysql.blah.com"; $username = "my_username"; $password = "my_password"; $database = "my_database"; $mysqlConnection = mysql_connect($server, $username, $password); if (!$mysqlConnection){ echo "Please try later."; } else { echo "All good"; mysql_select_db($database, $mysqlConnection); } ?> </body> </html> 用于周边通过测试。

1 个答案:

答案 0 :(得分:4)

我不知道警告是否可以被忽略,或者为什么Crockford不喜欢争论的对象,所以这不是一个很好的答案。

这就是我所知道的:ES6提供了rest parameter,它为我们提供了一种更清晰的方式来获得与arguments对象几乎相同的功能(存在一些差异)。此外,JSLint不会给你任何警告(除非你不是假设ES6)。

例如,如果您想编写sum函数,使用arguments对象,您的代码可能如下所示:

function sum() {
    const args = Array.prototype.slice.call(arguments, 0);
    return args.reduce(function (a, b) {
        return a + b;
    });
}

使用rest参数,您可以像这样编写sum函数:

function sum(...args) {
    return args.reduce(function (a, b) {
        return a + b;
    });
}