问题标签 [self-executing-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
20 回答
191779 浏览

javascript - javascript中自执行函数的目的是什么?

在 javascript 中,你什么时候想使用这个:

对此:

0 投票
3 回答
1005 浏览

javascript - 在自执行函数中访问阴影变量

在下面的示例中,是否有任何方法可以从someFunction内部获取对在someFunction外部声明的someValue变量的引用,或者它是否完全被函数的同名参数所掩盖。我很感激我可以将它附加到窗口并使用this从函数中访问它,但是在这种情况下有没有办法访问它?

[编辑]澄清。我知道该参数正在隐藏变量。显然,更改参数的名称将消除此问题。我的问题是在这种情况下是否有任何方法可以访问变量。

0 投票
2 回答
998 浏览

javascript - 如果变量是全局变量,为什么需要将参数传递给 javascript 中的自执行函数?

我正在查看underscore.js 库的代码(jQuery 做同样的事情),只是想澄清一下为什么将窗口对象传递给自执行函数。

例如:

既然this是全局的,为什么要传递给函数呢?下面的工作也不行吗?这样做会出现什么问题?

0 投票
4 回答
610 浏览

javascript - 使用自调用函数与变量无关

可能重复:
循环内的 Javascript 闭包 - 简单的实际示例

我正在尝试使用自调用函数,以便每个函数objects都返回不同的消息。

到目前为止,上述结果:

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我是对象 10

我怎样才能使用自我调用功能来立即设置消息,而不是与不稳定的联系在一起i

0 投票
1 回答
1070 浏览

javascript - 原型自执行方法的方法调用

我正在尝试真正了解原型在 js 中的工作原理。我目前正在进行一个基于循环的小游戏项目。

我想要一个 Game 对象实例,一旦实例化,它就会自行启动,调用它定义的循环方法。

我想要得到的是这样的:

现在,很明显,这不起作用,因为我在 start 周围使用了一个自执行函数来让它自动启动,所以 'this' 关键字代表窗口对象,而不是游戏对象。

有没有办法做到这一点,这样我就不必在实例化一个新的 Game 对象后手动调用 start 方法?

谢谢

0 投票
4 回答
10519 浏览

javascript - 什么是自执行匿名函数或这段代码在做什么?

谁能帮我理解这里发生了什么?我知道如果你打电话notGlobalFunction(),它只会调用第二个函数。

但是在var module = {}做什么呢?为什么在第一个函数中再次调用它?

它说这通常被称为自执行匿名函数,但我真的不知道这意味着什么。

0 投票
2 回答
373 浏览

jquery - 如何将 jQuery.ready 与其他匿名自执行函数一起使用?

我对自动执行匿名函数的了解越多,我就越困惑:)

我的问题是:如果我使用 jQuery 的 document.ready 函数,我是否必须将整个应用程序逻辑放在该函数中?如果我在其他一些自动执行的匿名函数中有代码,我如何从 document.ready 调用中触发该代码?(没有在全局命名空间中放置任何变量?)

Document.ready 代码:

我在海洋中的应用逻辑:

0 投票
4 回答
3006 浏览

javascript - 修改自执行函数中的参数

我希望能够修改传递给自执行函数的参数。

这是一些示例代码:

是一个小提琴。变量test没有改变。我怎样才能改变它,就像通过引用一样?

0 投票
1 回答
114 浏览

javascript - Javascript Scope:代码块与具有自执行函数cacoon的代码块

我正试图解决一个范围问题。举两个例子:

一个)

在此示例中,当单击引用的元素之一时,输出将为.a.b.c

b)

在此示例中,单击将产生undefined

我显然误解了这两个示例中的作用域是如何应用的,因为在我看来,.click在任何一种情况下调用何时都sel不再存在。

这两种情况之间应用范围的方式有什么区别?

0 投票
3 回答
156 浏览

javascript - 为什么在获取脚本路径时使用自执行匿名函数

我发现人们使用这种方法来获取当前脚本位置的路径:

完整代码在这里。

但我不知道为什么它使用自执行匿名函数?

为什么不改用这个: