我想知道以下javascript函数之间的区别。有人可以帮我们解决这些差异,在什么情况下我们需要使用这两个功能?
define(function () {
});
第二个是自执行功能,位于
之下(function() { })();
更新
我正在使用requireJS
答案 0 :(得分:2)
您的问题标题提到了“jQuery函数”,但您显示的代码中没有jQuery。
代码的第一位:
define(function () {
});
...调用名为define
的函数并将匿名函数作为参数传递(某种回调?)
第二个:
(function() { })();
定义匿名函数并立即调用它。
“我们需要使用这两个函数来区分这些差异和什么情况?”
有关何时使用define()
功能的指导,请参阅RequireJS API文档。对于你的第二个例子中的一个立即调用的匿名函数,有许多不同的原因可以使用这样的结构,例如,一个常见的原因是创建工作变量和/或嵌套函数而不创建全局变量。
我的思维方式比较两者(没有更多的上下文,无论如何)没有比将setTimeout(function(){ },1)
与(function() { })();
进行比较更有意义(或者比较任何其他带有函数的随机函数)参数)。