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

javascript - 创建一个 jQuery UI 插件:IIFE 和返回对象

我正在尝试创建一个小 jQueryUI 插件,允许用户在div#canvas. 该插件扩展ui.mouse并负责附加一个助手,以可视化绘制矩形的过程,但它实际上并没有渲染它

相反,它应该返回一个boxProperties对象,但我无法做到这一点。我对 IIFE 还很陌生,还没有完全掌握闭包,但我怀疑解决方案就在那里。我已经尝试了一些东西,但由于缺乏适当的知识而无法实现任何目标。

问题是div#canvas (绘制矩形的地方),实际上是 aMarionette.CollectionView并且矩形本身将被Marionette.ItemView动态添加到 collectionview 中,一旦绘制它们就会呈现它们。

我应该在我的代码中添加什么,以便在绘制矩形后立即返回一个 boxProperties 对象,以便我可以将它传递给矩形 ItemView 以使其呈现?

这是我的插件代码

0 投票
2 回答
79 浏览

javascript - IIFE 返回的对象 - 在内部引用内部或外部对象?

使用立即调用的函数表达式创建对象时,使用内部或外部对象引用有什么实际区别吗?例子:

两者都有效。我能想到的唯一区别可能internal是在没有直接调用它的情况下被调用后清理,但这可能没有实际意义,因为同一个对象存在于external. 如果有重复,请原谅我 - 我无法清楚地表达我想知道的内容,以便搜索引擎给我一个明确的答案。

谢谢!

0 投票
5 回答
6791 浏览

javascript - TypeScript 中的枚举:JavaScript 代码在做什么?

以下打字稿:

生成以下 JavaScript:

我很尴尬地承认我不明白 JavaScript 在做什么。
括号中的函数是使用另一个赋值作为索引/键来分配字符串值。我以前从未见过这样的事情。
函数后面的 (PrimaryColors || (PrimaryColors = {}) 的目的是什么?
如果答案是正确学习 JavaScript,我会欣然接受它,只要它附带一个可以清楚解释我所看到内容的建议来源这里。

0 投票
1 回答
5834 浏览

javascript - 停止 jQuery 执行任何进一步的代码

可能是最简短的问题。如果我有这些代码,并且我想在 jQuery 文档中的特定点准备好之后停止执行任何进一步的操作,该怎么办。在任何情况下,回报都会完成这项工作吗?

0 投票
1 回答
1216 浏览

javascript - IIFE 模块中的 JSHint “已定义”错误真的有效吗?

我将一些已编译的 TypeScript(也尝试过 CoffeeScript)的输出放入 WebStorm。当我这样做时,JSHint 会为 Snake 函数的内部声明抱怨“'Snake' is already defined”。

我可以用 禁用警告/*jshint -W004 */,但似乎警告是无效的,因为我们是在一个函数范围内。

现在奇怪的部分。如果我将__extends调用移到函数声明之后,错误就会消失。

我真的有 2 个问题,但第一个是我的主要问题,我将回答它。

  1. 这个警告有效吗?
  2. __extends将调用移到函数声明下方有什么后果?
0 投票
3 回答
308 浏览

javascript - javascript中的糟糕:从另一个方法调用一个方法?

我正在尝试在 javascript 中管理我的代码。我所做的是创建了两个类。



问题:我想在另一个中调用一个方法。我想调用Main2_method1 in Main1_method1,但我不知道该怎么做。

我可以使用经典模型(function.prototype.method = function(){})或原型模型object.create)。但我想使用上述方法来做到这一点。

0 投票
2 回答
4615 浏览

javascript - Javascript 闭包和 IIFE(立即调用的函数表达式)

闭包通过引用(而不是值)存储它们的外部变量。但是,在下面的代码中,我想按值存储。谁能告诉我如何使用 IIFE 做到这一点?

0 投票
1 回答
1460 浏览

javascript - 立即调用的函数表达式抛出“对象不是函数”

我在一个Javascript文件中定义了各种模块:

但是IIFE抛出一个错误:

> 类型错误:对象不是函数

我尝试只是复制和粘贴IIFE代码,没有问题。

0 投票
3 回答
83 浏览

javascript - 将对象与模块模式组合时我做错了什么

这个可能的重复对我没有帮助,因为类似的问题,我在面试中失败了。

这个想法是创建一个使用and的人Object,他是老师的父亲和 Manager 的祖父。类似的东西经理->老师->人module patterninheritance

我的代码看起来像这样(我的 Plunk):

我在第一行得到一个错误:

错误是:Uncaught TypeError: object is not a function

有人可以帮我吗?我也愿意听取对此代码的其他改进。

0 投票
1 回答
268 浏览

javascript - IIFE 这些微小的语法变化有何不同?

有时我会看到:

有时我会看到:

请注意函数对象的右括号的位置。

有什么区别?我想不通。出于任何原因,两者都更可取吗?

编辑:

此外,这不起作用:

这看起来很奇怪,因为如果用括号括起来它是有效的,如示例 2 所示。我不明白为什么用括号括起来会改变这方面的任何事情。