gpt4 book ai didi

javascript - 什么是在 JS 模块加载上下文中立即执行的工厂函数?

转载 作者:行者123 更新时间:2023-11-30 18:29:39 25 4
gpt4 key购买 nike

在 Require.js 文档中,在名为 Why AMD 的部分中, 询问以下内容:

今天的 JavaScript 代码片段是如何定义的?

其他答案如下:

  • 通过立即执行的工厂函数定义。

我明白(至少我认为我明白)javascript 工厂函数只是一个返回对象新实例的函数,但我不明白这在这个问题的上下文中意味着什么。谁能解释一下?

最佳答案

我猜你不清楚 javascript“工厂函数”和构造函数之间的区别。根据 Addy Osmani 的书或 immediately-invoked function expression,我通常会看到短语“this article”或 IIFE ,但我相信 IEFF 是对相同结构的引用。在 IEFF(使用他们的术语)中有这个基本公式:

(function () { return {};})();

它基本上是一种用于创建函数作用域的 javascript 模式 (/hack),从而让您可以控制向调用者公开该作用域内的一些但不是全部对象。不要将“工厂函数”与构造函数混淆。您不对 IIFE 使用 new 关键字,而是使用传统的 javascript 构造函数。构造函数是关于创建对象实例的,通常你会创建许多实例,每个实例都有唯一的状态。工厂函数有助于创建干净封装的模块,通常您只需要调用一次并在整个应用程序生命周期内获取对单个模块实例的引用。

关于javascript - 什么是在 JS 模块加载上下文中立即执行的工厂函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10013208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com