问题标签 [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 投票
8 回答
1660 浏览

javascript - Javascript - 自执行函数:如果我可以创建非自执行函数的本地范围,为什么要使用它们?

我知道这里和其他地方有很多关于自我执行功能的帖子,但在阅读帖子后我仍然有一些问题。

  1. 为什么我会为变量分配一个自执行函数?如果似乎他们无论如何都会执行自己。

    /li>
  2. 我读了很多,使用自执行函数的原因是保持变量私有。如果我有一个非自动执行的函数,那么我在该函数中定义的所有内容无论如何都会是私有的?!

    /li>

所以我不太明白自执行函数是如何保持本地范围的(因为你可以使用非自执行函数来做到这一点)所以我看到的唯一原因是当你想自动执行时使用它们,例如在页面加载时。

谢谢!

还有一个问题:

--> 这里到底发生了什么,因为 IIFE 我可以实际执行 test.test1() 而不是使用常规函数?

0 投票
1 回答
163 浏览

javascript - 为什么自调用函数会在不带括号的情况下引发错误

我有两个代码片段。第一个工作正常,但第二个给出错误。

在这里,我收到了警报消息。

在这里我收到错误。“Uncaught SyntaxError: Unexpected token )”我正在使用 chrome 浏览器。

以下再次起作用。

括号括起来的目的是什么?

0 投票
2 回答
34 浏览

javascript - 在对象字面量中调用自执行函数时出现异常

我正在尝试将字段的值设置为函数,然后执行它。this.fetchLocalStorage is not a function是我从运行它中得到的。

请注意,通过不使其成为自执行函数,它可以工作,但这意味着每次我只需要一次获取数据时都会调用该函数。

认为这可能是一个上下文问题,所以我尝试了一些事情,bindcall没有运气。我错过了什么吗?

0 投票
1 回答
1213 浏览

javascript - 从事件侦听器调用自执行函数

假设这是我唯一的HTML

并假设这是我唯一的JavaScript

我想function在输入更改时执行一次,但我也想function在页面加载时执行一次(Self-Executing FunctionIIFE)。以下是 3 个示例,其中 1 个不起作用。



以下按预期工作:

这里function将在页面加载时执行。它不会由 执行eventListener,而是会登录ReferenceError: myFunction is not defined到控制台:

这一个不会在页面加载时执行,也不会由eventListener并且将登录ReferenceError: myFunction is not defined到控制台:



我的问题:为什么第三个例子不起作用?

0 投票
1 回答
58 浏览

excel - 重新打开功能后,我怎样才能让它再次启动我的用户表单?

因此,此功能将有效地重新启动我的工作簿,但是,我设置为在工作簿打开时打开的用户表单并没有被踢出,我不确定为什么。我不知道它是否绕过了该功能或什么...

0 投票
2 回答
2083 浏览

javascript - 将自执行功能导入打字稿中的另一个类

我正在做混合 AngularJS/Angular5 应用程序。所以我正在尝试逐步将我的 JavaScript 文件更改为 Typescript。我有javascript文件:

我在打字稿中对其进行了更改,以便能够将其导出并在我的打字稿文件中重用设置:

但是当我尝试导入该文件时:

}

我只能看到import {sysSettingsts} from "angular/sysSettings"; 文件但洞察构造函数我的 sysSettingsts 未定义。

我尝试直接在方法内部使用 sysSettingsts 但值也未定义...请任何人告诉我如何导出在打字稿中执行的函数或至少给出一些想法如何从我的打字稿文件中导入设置另一个打字稿文件(使设置可重复使用)。

谢谢

0 投票
1 回答
52 浏览

javascript - 自执行函数中 this 的范围

谁能说出为什么全局范围不适用于以下情况?为什么第 6 行打印 undefined ?外部“this”不应该在内部自动执行功能中可用吗?

其中,在以下情况下,全局范围工作正常。在外部范围内声明的 test1 在内部函数中完全可用。

谁能解释一下我在这里想了解的内容?

0 投票
0 回答
103 浏览

angular - 角度方法不返回值

我有一个 API 调用,它为我获取一个随机图像。我正在尝试调用以下方法并尝试使用返回的变量,但它只会给我空结果。

但是我测试了 API 确实给了我结果(内部if(res)显示数据),但我无法在函数之外使用该数据。

另外,是否可以每 5 秒后自行执行此功能?

编辑:

我刚刚注意到,内部函数稍后执行,

我知道我可以通过调用和订阅 n 次来解决这个问题,但我只想使用这个函数返回的值,因为我希望它能够自我调用。

更新

只想更新标记到此问题的链接不回答此问题,但是以下方法可以,

0 投票
1 回答
28 浏览

javascript - 如何使用我的网页异步调用的java脚本库的功能?

1.我本地的js文件sdk.js是

2.被异步调用的远程js是ub-sdk.js

  1. index.html 就像

我无法访问 us-sdk.js 中定义的函数和对象。我正在使用在 Apache 服务器下运行的本机 java 脚本代码。让我知道我做错了什么?

0 投票
1 回答
213 浏览

javascript - 如何从异步自执行函数访问全局窗口变量

如何从异步自执行函数的内侧设置窗口变量。当我在 fetch 之前使用 await 时,我得到“错误:未捕获的 ReferenceError:bar 未定义”。当我删除等待时,在这种情况下,我得到了 Promise 对象。