在JavaScript函数中使用忽略参数的目的/好处是什么?

Joe*_*Lee 9 javascript jquery

就这样没有误解,这个问题不是关于在JS函数中允许可选参数.

我的问题是由jQuery parseXML函数激发的,其定义jQuery.js如下:

// Cross-browser xml parsing
// (xml & tmp used internally)
parseXML: function( data, xml, tmp ) { 
   ... 
} 
Run Code Online (Sandbox Code Playgroud)

在函数体内,参数xml和和tmp都是在使用之前分配的.这意味着它们被用作局部变量,因此函数可以像这样定义:

parseXML: function(data) { 
   var xml, tmp;
   ... 
}
Run Code Online (Sandbox Code Playgroud)

除了在缩小版本中保存几个字符外,第一种方式的好处是什么jQuery.js

Már*_*son 3

如果我们定义两个函数...

function a ( foo ) { }
function b ( foo, bar, baz ) {}
Run Code Online (Sandbox Code Playgroud)

...他们会报告不同length...

console.log( [a.length, b.length] ); // logs [1, 3]
Run Code Online (Sandbox Code Playgroud)

很少看到JavaScript 的这个鲜为人知的功能被使用。

但除了缩小文件大小后减少几个字节之外,这是我能想到的唯一的其他原因。