4

可能重复:
带有“未定义”参数的 JavaScript 函数

我在这里查看 jQuery Color 源代码

http://code.jquery.com/color/jquery.color-2.1.0.js

我发现闭包函数的第二个参数是一个未定义的值。见下文:

(function( jQuery, undefined ) {

    var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",

    // plusequals test for += 100 -= 100
    rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
    // a set of RE's that can match strings and generate color tuples.

或者你可以在源代码中看到它。看第二个参数。

我想知道的是为什么第二个参数是未定义的?

我认为这是一种严格设置函数只接收一个参数的方法。

我说的对吗?或者任何人都可以帮助我吗?

4

1 回答 1

5

这是在代码的其他部分为名称分配一些值的情况下undefined。闭包实际上只用一个参数调用,如:

(function(jQuery, undefined) {
    // ...
})(jQuery);

这确保了undefined它实际上是绑定undefined在闭包内的。

于 2012-10-26T17:35:25.567 回答