javascript - 只为其他一些 IIFES 创建一个 IIFE 返回变量
问题描述
我想知道我们是否可以在一个 IIFE 中声明一个变量并将其返回但使其可用于另一个特定的 IIFE?这是一个例子!
所以我有
const iife1 = (()=>{
const x = 10;
return x
})()
const iife2 = (()=>{/* MAKE X AVAILABLE ONLY IN THIS FUNCTION */})()
const iife3 = (()=>{/* HERE X CANNOT BE CALLED */})()
也许您会说不要将 iif3 中的变量 x 作为参数传递,但我想知道在从 iif1 返回变量时是否有条件方法可以实现它,因此 iif1 将知道它返回的函数之前的属性或方法居然已经返回了!
我的目标是创建一个 IIFE,我将在其中声明我将在项目中使用的所有变量。然后对于每个变量,我希望有一个适当的条件,以便当带有变量的 IIFE 返回时,函数已经决定在哪个范围内发送变量以供使用!我不知道这种方法是否有意义,但正如人们常说的那样,我试图不填充全球范围。
解决方案
IIFE只能使用Global
、Passed
或 内部变量。您不能使功能范围内的某些东西对同一范围内的第二个功能不可用。
传递变量是一种方法,但在某些情况下更实用的方法可能是根据需要嵌套您的IIFE
const iife2 = (() => {
const iife1 = (() => {
const x = 10;
return x
})()
console.log(iife1);
/*iife2 scope*/
})()
const iife3 = (() => { /* HERE X CANNOT BE CALLED */ })()
推荐阅读
- python - python/kivy:需要函数clock()但由于递归而崩溃
- c# - C# 将属性复制到输出目录设置为始终从 Nuget 用于 PackageReference 项目
- python - 如何从熊猫系列中的字符串中删除最后5个字符
- c++ - CImg 库编译时返回未定义的引用 `__imp_SetDIBitsToDevice'
- node.js - 巨大的 CSV 数据显示在 ChartJS
- php - 为什么我的捕获异常代码不起作用?
- javascript - 使用 jQuery 获取相关的 div 文本
- firebase - 在firestore中,如果我指定文档和字段,是否可以检索字段的数据类型?
- javascript - Javascript 绘制模式
- reactjs - 高阶组件中的类型推断