问题标签 [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 回答
698 浏览

javascript - Javascript自调用函数在角度离子中不起作用

控制器内部的代码是:

如您所见,此函数正在调用服务配置文件和该服务的方法。问题是此调用函数不起作用。给出错误: TypeError: (intermediate value)(...) is not a function。在 plunker 中,我检查了一个琐碎的自调用函数。这是链接:http: //jsfiddle.net/Lvc0u55v/4582/。这个微不足道的自调用功能正在工作。但我不明白为什么我的实际应用程序自调用功能不起作用。谢谢您的时间。

目前的工作版本(非自调用)是: $scope.friendship_requests_to_me_function = function(){ $scope.show(); profile.friend_requests_to_me_service(loggedInUser.id).then(function(data){ console.log(data); $scope.friend_requests_to_me = data.data.friend_request_to_me; $scope.friends = data.data.people_you_may_know; $scope.hide(); });
} $scope.friendship_requests_to_me_function();

0 投票
0 回答
265 浏览

javascript - 连接 JavaScript 文件并将它们封装到一个自调用函数中 - 可能的缺点?

可以将多个 JavaScript 文件合并为一个,然后将生成的代码封装到一个自调用函数中,因此这些 JS 文件中的所有代码都变成:

这样就完全不会污染全局命名空间,现在可以在单独的 JS 文件中定义内部模块,这些模块可以跨 JS 文件访问。

除了使内部模块的调试不那么方便(因为无法浏览内部对象、从控制台手动调用它们的函数等)之外,这种方法是否有任何潜在的缺点?

或者,是否有更好的方法允许在可以跨 JS 文件访问的单独 JS 文件中定义内部模块?


以防万一,gulp 代码将 JavaScript 文件连接成一个,然后将生成的代码封装到一个自调用函数中:

0 投票
1 回答
87 浏览

javascript - javascript: 这是什么: (function(args){})(moreArgs){});

我仍然一次又一次地尝试掌握 javascript。我查看其他脚本以获得灵感和学习。有人知道这是什么吗:

它是jquery的骨架。有人可以向我解释这是如何工作的吗?谢谢!

这是更多的骨架:

0 投票
1 回答
43 浏览

javascript - JavaScript 中令人困惑的作用域和自调用

让我们看一下这个例子:

然后我们有不同的方式来调用这个函数:

我理解前 3 行,但任何人都可以向我解释进一步发生了什么(第 4 到 7 行)。这很令人困惑。

0 投票
1 回答
411 浏览

javascript - javascript自调用匿名函数的使用

请参阅以下代码块。哪一个是最好的选择?基本上他们都在做同样的事情

示例 1

示例 2

示例 3

对比这三个例子,我更喜欢使用自调用匿名函数(例子3),原因如下

  • 不需要创建不必要的变量和分配内存(ex1:valid,ex2:isValid)

  • 保持代码干净,一块一块或一个模块,以便于管理和组织

  • 自包含,以便自调用匿名函数之外的变量不会被污染

如果我在上述任何一点上错了,请纠正我,并告诉我您的偏好和原因是什么?

0 投票
0 回答
26 浏览

javascript - 这些括号是如何真正起作用的?

应该是简单的问题。我最近开始学习这些保留私有变量的自调用函数和闭包,现在我脑子里有点乱。我看到人们以不同的方式做这件事,我想知道,这实际上可能是同一件事吗?

据我了解,第一个是函数定义的自调用表达式,而第二个是自调用函数定义的表达式。但这是正确的,有什么区别(在实践中,技术或性能)?这两个(相同类型的)关闭吗?

我自己是一位经验丰富的程序员,所以我很高兴知道这是如何工作的。谢谢!

0 投票
0 回答
120 浏览

javascript - 对象在 Chrome 内容脚本的函数内不可见

我正在开发一个简单的 Chrome 扩展程序。在内容脚本(称为script.js)中,我有以下代码:

通常,此代码按预期工作。但是,有时它会在上面指出的两行之一引发错误script.js,说明buttonText未定义。在它抛出此错误之前,我已经能够在调试器中捕获它几次。在这些情况下,buttonText在顶级函数中定义但在内部不可见inject。我不知道在成功运行和产生错误的运行之间有什么变化。是否有众所周知的 JavaScript 或 Chrome 相关原因会发生这种情况?还是必须是我在代码中创建的问题?

这是扩展程序的清单,以防其相关:

0 投票
4 回答
898 浏览

javascript - 自调用函数作为 jQuery 文档就绪回调

和有什么区别

0 投票
3 回答
1046 浏览

javascript - 为什么变量不在闭包中重置(Javascript)

我一直在尝试了解闭包,但有一件事仍然让我感到困惑。如果我有以下代码:

如果我调用 add() 三次,为什么不每次都将 counter 设置为零,然后返回将 counter 加一的匿名函数?一旦自调用函数运行,它会跳过它吗?对不起,如果这个问题看起来很简单,我很难理解它。任何帮助将不胜感激。

0 投票
0 回答
163 浏览

javascript - 在 for 循环中使用自调用函数仅执行一个函数并退出

我想由用户和计算机随机实现一个点击器。单击一个单元格后,我需要停止用户单击事件。我的随机函数未执行。这是因为左自调用函数正在等待单击。您只需单击一个单元格(id)并继续执行随机函数。

}