【问题标题】:difference between following jquery and requireJS functions以下 jquery 和 requireJS 函数之间的区别
【发布时间】:2014-01-06 15:32:40
【问题描述】:

我想知道以下 javascript 函数之间的区别。有人可以帮忙看看有什么区别吗?我们需要在什么情况下使用这两个功能?

define(function () {

});

第二个是下面的自执行函数

(function() { })();

更新

我正在使用 requireJS

【问题讨论】:

  • 第一个在 vanilla JS 中是否有效?或者您是否在使用 jQuery 以外的其他库/插件?
  • define 不是 Javascript 关键字或内置函数。你在用requireJS吗?如果是这样,请参阅this question
  • 是的,我正在使用 requireJS
  • 我不知道 requireJS 但你想达到什么目的?

标签: javascript requirejs


【解决方案1】:

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

第一段代码:

define(function () {

});

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

第二个:

(function() { })();

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

“这两个函数有什么区别,在什么情况下需要用到?”

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

在我看来,比较两者(无论如何都没有更多上下文)比比较setTimeout(function(){ },1)(function() { })();(或比较任何其他将函数作为参数的随机函数)更有意义。

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 2023-03-12
    • 1970-01-01
    • 2012-02-29
    • 2013-01-04
    • 2012-05-27
    • 1970-01-01
    • 2013-02-09
    • 2014-06-08
    相关资源
    最近更新 更多