问题标签 [iife]

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 投票
2 回答
151 浏览

javascript - 全局“窗口”引用如何影响 iife 中的垃圾收集?

鉴于我对垃圾收集以及项目如何保存在内存中的了解最少,12. 在这一点上更多的是一个学术问题,而不是一个实际的瓶颈......球帮助?

0 投票
2 回答
4031 浏览

javascript - 使用命名立即调用函数表达式 (IIFE) 而不是注释

在 JS 代码中使用 Named IIFE 来描述和分组相关代码的优缺点是什么?

我一直在使用这种“模式”来为我的更多程序代码提供结构,这些代码只在一个地方执行。


例子

我发现这比两者都可取:

因为随着时间的推移,注释可能会从代码中分离出来,并且注释适用于哪一行并不是很明显

并:

因为如果它只在一个地方执行,为什么要把函数和它的执行分开呢?


使用此模式时是否有任何性能、可维护性、可测试性或跨浏览器注意事项?我不相信我见过很多人在野外使用它,但我觉得它可能非常有用

0 投票
1 回答
507 浏览

javascript - IIFE 内的 IIFE。问题?表现?

我的图书馆是这样的 IIFE:

在这个库中,我将代码组织成模块,这些模块也如下所示:

每个模块都有一个 foo 。

在 IIFE 中安装 IIFE 有什么问题吗?

大多数主要库都封装在 IIFE 中,但从那里他们将代码组织成简单的对象文字而不是 IIFE。

这就是我问/好奇的原因。

我这样做是因为我喜欢我的模块有私有成员,并且这种模式允许这样做。

0 投票
1 回答
85 浏览

javascript - JavaScript - 新对象,模块中的代码

我从 JavaScript 开始并研究了以下代码。新运营商是做什么的?是不是 canvas.js 调用自己并创建了一个画布?

main.js

画布.js

0 投票
1 回答
2774 浏览

javascript - 使用 IIFE 并传入参数,我应该什么时候做?Javascript

我图书馆的大部分部分都是由具有类似结构的文件组成的,

现在假设在Something我使用的内部documentwindow现在我的文件看起来像这样;

Something的构造函数中使用 document 时,我应该将 document 传递给 IIFE,使其如下所示;

或者我应该只在变量在外部使用时将它们传递给 IIFE Something?如下图,

0 投票
2 回答
364 浏览

javascript - 我们可以将参数传递给咖啡脚本类吗?

是否有可能将一些传递arguments给 coffeescript-class iife

像这样的 CoffeeScript 类实例:

结果通常是这样的:

但是,也许有一种方法可以用一些参数填充匿名包装器,如下所示:

目前我将每个模块包装在一个多余的额外包装器中:

但我觉得这绝对不漂亮(就像通常的咖啡一样)。

0 投票
2 回答
169 浏览

javascript - javascript IIFE sense(实例分析)

我正在关注维基百科的示例

我知道里面有一个闭包,其中包含带有i变量的堆栈帧,我可以创建多个计数器 - 这很清楚。但是为什么这里使用 IIFE 语法呢?如果它在没有它的情况下重写代码,它的工作方式相同:

我很感激在维基百科的例子中解释 IIFE 在做什么。

0 投票
2 回答
154 浏览

javascript - What does the first semicolon imply? " ;( function( ) { } ) ( ); "

I was just going through the source code of cordova.js, its structure is like

Just curious what does the first semi-colon imply?

Is it just to make sure that there is a semicolon preceding the anonymous function or does it mean something else?

0 投票
1 回答
179 浏览

javascript - javascript 中的内存效率更高的 IIFE 是什么?

我想调用一个匿名的自执行函数,只有当 dom 准备好时,使用内存效率更高的技术。而且,我想使用 window 和 window.jQuery 全局对象的本地范围版本来进行优化(加载本地范围比全局更快)。

那么,这种模式正确吗?

我不确定我是否做错了什么......

提前致谢!

0 投票
4 回答
133 浏览

javascript - Declare function twice for closure?

I've got something like this:

I dont want myFunction() to be called from the console, so I enclosed it inside the anonymous function. So, If I need to call it somewhere else, do I declare it twice or what do I do?