问题标签 [self-invoking-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 投票
1 回答
168 浏览

javascript - 在“for”循环和“setTimeout()”中传递数组和索引

我想在循环templates[i]内执行点击setTimeoutfor

我得到错误templates[i]未定义。

但是,这样的事情很好:

任何人都可以阐明为什么会这样以及如何正确传递数组和索引吗?

谢谢,丹

0 投票
2 回答
1718 浏览

javascript - addEventListener 上的 JavaScript 自调用函数

我无法使事件侦听器自调用和侦听器工作的功能。

以下代码执行该函数,但事件侦听器不起作用:

该函数将设置网站格式所必需的(从一开始就是动态的)CSS 样式。“resize”函数必须在加载时执行。是否可以做到这一点,或者我应该创建一个单独的自调用函数并在事件侦听器上调用它?

0 投票
1 回答
46 浏览

javascript - 2 个自调用 javascript 函数正在运行

我有一个容器,其中包含一个主图像和每个 2-3 个缩略图。我希望用户能够通过单击其父级的缩略图来更改图像。除此之外,我希望容器是可拖动/可排序的,以便用户能够轻松地比较它们。

这就是为什么我在我的 javascript 文件中创建了这两个自调用函数的原因。

这是将主图像更改为缩略图的图像。

而这个用于将容器拖放到交换位置。

这两个功能有效,但是当我拖动容器并更改其位置时,第一个功能不再有效。

0 投票
1 回答
78 浏览

javascript - 自调用JS函数

我有以下代码:

我想将此代码更改为自调用函数。所以我添加了以下内容:

(function (){ 在代码块之前。
})(); 代码块后面。

然而,这给了我以下错误:未捕获的

TypeError:(中间值)(中间值)(中间值)(...)不是函数(...)。

我似乎无法在这里找到问题。有人可以告诉我发生了什么吗?

当前版本:

并调用 rowCalc 函数:

0 投票
1 回答
591 浏览

javascript - 需要更多关于 w3schools javascript 闭包示例的解释

我正在尝试了解闭包并正在查看 W3Schools javascript 教程。这是他们通过制作计数器给出的一个例子。

示例解释变量 add 被赋予一个自调用函数的返回值。

自调用函数只运行一次。它将计数器设置为零 (0),并返回一个函数表达式。

这样 add 就变成了一个函数。“精彩”的部分是它可以访问父范围内的计数器。

这称为 JavaScript 闭包。它使函数可以具有“私有”变量。

计数器受匿名函数的作用域保护,只能使用 add 函数更改。

注意 闭包是一个可以访问父作用域的函数,即使在父函数关闭之后也是如此。

解释还不错,但有几件事不清楚。为什么自调用函数是最好用的?为什么嵌套匿名函数不是自调用函数?当计数器已经在其中返回时,为什么还要返回整个匿名函数?

0 投票
2 回答
141 浏览

javascript - JavaScript 中的提升变量

为什么上面的代码给了我 1 作为结果?

0 投票
2 回答
288 浏览

angularjs - 如何访问在自调用中定义的角度应用程序模块?

我想以角度使用单元测试,但webapp我正在研究它是在它的欠结构上创建的。例如 :

及其控制器之一:

而且我不知道如何对这个应用程序使用单元测试,因为我的测试找不到控制器。

这是我的控制器和测试:

在业力测试中告诉我这个error

错误:[$injector:modulerr] 无法实例化模块 DashboardCtrl,原因是:错误:[$injector:nomod] 模块“DashboardCtrl”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

这表明找不到"DashboardCtrl"控制器。

0 投票
2 回答
370 浏览

javascript - 自调用函数javascript

我试图在Javascript中为自调用函数编写这段代码:

但在最后一行我收到了这个错误信息:

  • myFunc 未定义
0 投票
2 回答
39 浏览

javascript - 自调用函数不保留私有值

试图弄清楚为什么自调用函数保留了私有值,而其他类型则没有。

是否增加价值

输出:10,11,12

虽然此代码不会增加值

输出:10,10,10

0 投票
1 回答
556 浏览

javascript - 用左花括号结束 Javascript 函数是一个错误?

直到最近,我才涉足简单的 Javascript。在过去的几周里,我一直在尝试学习它更高级的方面。来自经典编程背景,Javascript中的原型让我多次陷入循环......

在研究 Snap.svg API(尝试学习技术)时,我发现了以下内容:

这是 Snap 的最新版本,从第 #423 行开始

起初,我以为它是一个匿名的自调用函数,然后我注意到了开放的花括号。我查看了下面的代码,无法解释右括号。此外,在 8k+ 行代码中搜索大括号的出现(使用 notepad++)表明打开大括号比关闭大括号多一个。此外,当我折叠代码段中的第一行时,整个剩余代码(几乎 8000 行)都会折叠。API 中的最后一行代码以:

函数上缺少的右括号是否有可能被推到文件末尾?这可能解释了文件末尾的双右括号(第二个片段)?我会在 github 上报告错误,但我假设我读错了。

如果有人能解释发生了什么,我将不胜感激。