以下jquery和requireJS函数之间的区别

时间:2012-07-16 03:28:45

标签: javascript requirejs

我想知道以下javascript函数之间的区别。有人可以帮我们解决这些差异,在什么情况下我们需要使用这两个功能?

define(function () {

});

第二个是自执行功能,位于

之下
(function() { })();

更新

我正在使用requireJS

1 个答案:

答案 0 :(得分:2)

您的问题标题提到了“jQuery函数”,但您显示的代码中没有jQuery。

代码的第一位:

define(function () {

});

...调用名为define的函数并将匿名函数作为参数传递(某种回调?)

第二个:

(function() { })();

定义匿名函数并立即调用它。

  

“我们需要使用这两个函数来区分这些差异和什么情况?”

有关何时使用define()功能的指导,请参阅RequireJS API文档。对于你的第二个例子中的一个立即调用的匿名函数,有许多不同的原因可以使用这样的结构,例如,一个常见的原因是创建工作变量和/或嵌套函数而不创建全局变量。

我的思维方式比较两者(没有更多的上下文,无论如何)没有比将setTimeout(function(){ },1)(function() { })();进行比较更有意义(或者比较任何其他带有函数的随机函数)参数)。