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

javascript - 在 JavaScript 闭包中使用自调用函数

我目前正在完成有关 JavaScript 的阅读。我在http://www.w3schools.com/js/js_function_closures.asp上关于 JavaScript 中的闭包(允许“私有变量”)的章节。

这个例子是一个计数器:

它声明它使用自调用函数将计数器设置为 0一次,并且每次 add() 迭代时计数器加一。但是,我在代码中看到用于自调用函数的花括号围绕在counter = 0和递增计数器的函数周围。我很难想象这两个命令到底是如何在自调用函数中出现的,但是一个只运行一次,而另一个在每次迭代时都运行。

0 投票
3 回答
694 浏览

javascript - 用于访问外部 js 文件中的函数

0 投票
1 回答
3716 浏览

javascript - Javascript:如何命名 IIFE

我正在开发一个用 javascript 制作的图像滑块插件!是的......我很无聊
,我希望它立即启动,所以我尝试像在 jQuery 源代码中那样制作一个立即调用函数表达式(IIFE):

我试图像那样制作一个立即调用函数表达式(IIFE)并且失败了::)这就是我尝试过的:

失败了,但是当我用窗口替换最后一个参数时它可以工作?
我什至尝试过这样的左侧变量:

为什么它会这样做,我怎样才能得到我正在寻找的效果?在此先感谢,- Millzie。

0 投票
0 回答
204 浏览

function - 为什么 JSHint 在带参数的自调用函数结束时显示缺少“使用严格”错误

jsHint 使用我传入参数的标准模块模式在自调用函数的末尾生成错误:}(window.document, jQuery))

有谁知道为什么?

0 投票
3 回答
1255 浏览

javascript - 在 JavaScript 中,为什么我不能立即调用函数声明?

只有函数表达式可以立即调用:

但不是函数声明?这是因为函数声明被提升并且已经立即执行了吗?

编辑:我引用的资源

http://benalman.com/news/2010/11/immediately-invoked-function-expression/

http://markdalgleish.com/presentations/gettingclosure/

0 投票
1 回答
347 浏览

javascript - javascript匿名函数可以返回自己吗?

在绑定事件处理程序时,我发现需要创建一个函数,因为它需要被引用两次;最初一次,一次到事件绑定:

但后来我意识到我可以通过传递一个自调用匿名函数作为事件处理程序并返回来开始这样做arguments.callee

假设我从未在这两个实例之外使用此功能,这样做是否可行?

0 投票
1 回答
1897 浏览

innerhtml - InnerHTML - 自调用函数有效,但为什么 Jquery 文档不就绪?

我正在测试用 innerHTML 编写一些东西,没有任何事件处理程序。我想知道为什么Jquery document ready不起作用 - 我认为它应该是一个自调用函数?常规的自调用功能确实有效。

如果我在 HTML 中有这个

在 JS 中,常规的自调用函数起作用:

但不是 Jquery 就绪功能:

如果我将 Jquery 函数放在顶部,那么另一个函数将停止工作 - 怎么会?此外,以 }()) 结尾的自我唤起功能;- 额外的括号非常重要,否则它不起作用。我不明白那个括号的含义是什么?

0 投票
1 回答
28 浏览

javascript - 为什么允许通过原型继承访问另一个闭包范围内的私有变量?

因此,我能够numb通过原型继承意外地访问私有变量 ()。我有一些问题:

  1. 自调用匿名函数 (SIAF) 闭包中的这些私有变量不应该在 SIAF 完成执行后已经过期吗?我原以为它会出错,因为'use strict'.

  2. 如果它意味着变量永不过期,作为最佳实践的一部分是否应该避免这种情况?

这是代码:

这是小提琴:http: //jsfiddle.net/6w2L1y5w/1/

0 投票
2 回答
191 浏览

javascript - 自调用匿名函数

我正在尝试了解以下 d3.js 示例:http: //bl.ocks.org/mbostock/3884955

在示例中,有很多行代码如下所示:

或者

但我不知道,d 作为参数在哪里传递,d 是什么?这种“魔法”是如何发挥作用的?

0 投票
2 回答
2580 浏览

javascript - Javascript - 如何在自调用函数中调用方法?

在下面的代码中

如何调用方法 j()?或者在此之前我应该​​问,有没有办法创建函数 x() 的实例,因为这就是正在发生的事情。请看小提琴http://jsfiddle.net/e5k6bdvn/