JSHint是否可以检测何时将额外参数传递给函数?

JSHint是否可以检测何时将额外参数传递给函数?,jshint,Jshint,例如,这不会触发来自JSHint的任何警告,即使函数没有使用其中一个参数,甚至不是函数签名的一部分 function foo(x) { return x; } foo(4, 5); 不,不能。最可能的原因是,一种相对常见的JavaScript模式是使用arguments集合来允许传递任意数量的参数。例如: function findHighestNumber() { return Math.max.apply(Math, arguments); } findHighestNumber(

例如,这不会触发来自JSHint的任何警告,即使函数没有使用其中一个参数,甚至不是函数签名的一部分

function foo(x) { return x; }

foo(4, 5);

不,不能。最可能的原因是,一种相对常见的JavaScript模式是使用
arguments
集合来允许传递任意数量的参数。例如:

function findHighestNumber() {
  return Math.max.apply(Math, arguments);
}

findHighestNumber(1, 5, 19, 3); // 19

在这种情况下,函数可以接受任意数量的参数,并且不需要任何命名参数。

您似乎已经回答了自己的问题。谢谢。但这很不幸。我做了一次代码重构,从函数中删除了参数,之后我发现我有许多对函数的调用仍然有额外的参数。JSHint警告其他常见模式——例如函数中未使用的参数,而这一个似乎并不常见或令人反感。