jquery的源代码开头是这样的:
;(function (props) {..}(props)
// I do not understand the following curly braces:
{...}
));
我知道这是一个匿名函数表达式(闭包),它在加载脚本后执行(仅一次)。这样的事情(“正常关闭”):
(function(props){
...
}(props));
但是,我不明白额外的花括号在做什么(好处,用例)。在“正常关闭”中,我不使用这些花括号。
答案 0 :(得分:3)
额外的花括号是函数定义的一部分,您在问题中遗漏了它。实际代码看起来更像是这样:
;(function( global, factory ) {
// ...
} (typeof window !== 'undefined' ? window : this, function(...) {
// ...
}));
即。函数传递两个参数window
和另一个函数。如果现在计算括号(()
),它们会匹配。