JSLint:使用命名参数

时间:2011-08-23 23:14:25

标签: jquery jslint

所以我在bit.ly/jqsource上提供的最新版jQuery上运行JSLint。我让测试尽可能松散,但我仍然会遇到错误。其中一个是第327行的“使用命名参数”:

target = arguments[0] || {},

这是什么意思?即使this blog post也不提供信息。

2 个答案:

答案 0 :(得分:6)

这意味着代码使用arguments集合而不是函数签名中指定的参数来访问参数:

您可以使用以下代码重现错误消息:

function x(a) {
    var b = arguments[0];
}

使用named参数可以得到相同的结果而不会出现lint错误:

function x(a) {
    var b = a;
}

答案 1 :(得分:2)

我认为它实际上是说“使用命名参数”而不是“variable”

如果是这样,当您引用arguments对象时,某些浏览器可能会出现性能下降。我猜这是抱怨的。

如果永远不会引用arguments对象,某些浏览器会优化它们的创建。