问题标签 [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.
javascript - 创建一个 jQuery UI 插件:IIFE 和返回对象
我正在尝试创建一个小 jQueryUI 插件,允许用户在div#canvas
. 该插件扩展ui.mouse
并负责附加一个助手,以可视化绘制矩形的过程,但它实际上并没有渲染它。
相反,它应该返回一个boxProperties
对象,但我无法做到这一点。我对 IIFE 还很陌生,还没有完全掌握闭包,但我怀疑解决方案就在那里。我已经尝试了一些东西,但由于缺乏适当的知识而无法实现任何目标。
问题是div#canvas
(绘制矩形的地方),实际上是 aMarionette.CollectionView
并且矩形本身将被Marionette.ItemView
动态添加到 collectionview 中,一旦绘制它们就会呈现它们。
我应该在我的代码中添加什么,以便在绘制矩形后立即返回一个 boxProperties 对象,以便我可以将它传递给矩形 ItemView 以使其呈现?
这是我的插件代码
javascript - IIFE 返回的对象 - 在内部引用内部或外部对象?
使用立即调用的函数表达式创建对象时,使用内部或外部对象引用有什么实际区别吗?例子:
两者都有效。我能想到的唯一区别可能internal
是在没有直接调用它的情况下被调用后清理,但这可能没有实际意义,因为同一个对象存在于external
. 如果有重复,请原谅我 - 我无法清楚地表达我想知道的内容,以便搜索引擎给我一个明确的答案。
谢谢!
javascript - TypeScript 中的枚举:JavaScript 代码在做什么?
以下打字稿:
生成以下 JavaScript:
我很尴尬地承认我不明白 JavaScript 在做什么。
括号中的函数是使用另一个赋值作为索引/键来分配字符串值。我以前从未见过这样的事情。
函数后面的 (PrimaryColors || (PrimaryColors = {}) 的目的是什么?
如果答案是正确学习 JavaScript,我会欣然接受它,只要它附带一个可以清楚解释我所看到内容的建议来源这里。
javascript - 停止 jQuery 执行任何进一步的代码
可能是最简短的问题。如果我有这些代码,并且我想在 jQuery 文档中的特定点准备好之后停止执行任何进一步的操作,该怎么办。在任何情况下,回报都会完成这项工作吗?
javascript - IIFE 模块中的 JSHint “已定义”错误真的有效吗?
我将一些已编译的 TypeScript(也尝试过 CoffeeScript)的输出放入 WebStorm。当我这样做时,JSHint 会为 Snake 函数的内部声明抱怨“'Snake' is already defined”。
我可以用 禁用警告/*jshint -W004 */
,但似乎警告是无效的,因为我们是在一个函数范围内。
现在奇怪的部分。如果我将__extends
调用移到函数声明之后,错误就会消失。
我真的有 2 个问题,但第一个是我的主要问题,我将回答它。
- 这个警告有效吗?
__extends
将调用移到函数声明下方有什么后果?
javascript - javascript中的糟糕:从另一个方法调用一个方法?
我正在尝试在 javascript 中管理我的代码。我所做的是创建了两个类。
问题:我想在另一个中调用一个方法。我想调用Main2_method1 in Main1_method1
,但我不知道该怎么做。
我可以使用经典模型(function.prototype.method = function(){})
或原型模型object.create
)。但我想使用上述方法来做到这一点。
javascript - Javascript 闭包和 IIFE(立即调用的函数表达式)
闭包通过引用(而不是值)存储它们的外部变量。但是,在下面的代码中,我想按值存储。谁能告诉我如何使用 IIFE 做到这一点?
javascript - 立即调用的函数表达式抛出“对象不是函数”
我在一个Javascript
文件中定义了各种模块:
但是IIFE
抛出一个错误:
> 类型错误:对象不是函数
我尝试只是复制和粘贴IIFE
代码,没有问题。
javascript - IIFE 这些微小的语法变化有何不同?
有时我会看到:
有时我会看到:
请注意函数对象的右括号的位置。
有什么区别?我想不通。出于任何原因,两者都更可取吗?
编辑:
此外,这不起作用:
这看起来很奇怪,因为如果用括号括起来它是有效的,如示例 2 所示。我不明白为什么用括号括起来会改变这方面的任何事情。