JavaScript 嵌套函数交叉引用

标签 javascript javascript-objects nested-function

我有一个嵌套函数,它需要先前声明的函数的返回类型,才能将其用作函数参数t。我不知道我的结构是否正确或是否可以支持这一点。

如能提供一些关于如何调用它的建议,将不胜感激

  var myObject = {
     funct1 : (function (){..... return funct1; })(),
     funct2 : (function (funct1){..... return func2; })(funct1)
     };

所以问题是我如何在第二个函数中正确调用 funct1 参数

我是使用 myObject.Funct1 还是在内部调用该对象的另一种方法...

我目前遇到错误

Cannot read property 'funct1' of undefined

最佳答案

我不认为有一种方法可以通过声明一个对象字面量来做到这一点,因为在对象创建期间不能使用对象的键。

不过,您可以通过这样做获得相同的功能:

const myObject = (() => {
  const func1 = () => 'result of func1';
  const func2 = () => func1() + ' and func2';
  return { func1, func2 }
})();

console.log(myObject.func2()); // result of func1 and func2

关于JavaScript 嵌套函数交叉引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51805411/

相关文章:

javascript - 动态且高效地将今天的日期作为字符串分配给属性

javascript - 为什么这个 for 循环记录 "undefined"?

python - 如何对嵌套函数进行单元测试?

javascript - Object.Assign() 函数生成的复制对象有副作用吗?

javascript - 遍历对象并显示存在 Y 的数据

javascript - 将对象从 SQL 查询函数传递到单独的函数

JavaScript 使用构造函数设置变量

javascript - 运行基本的 Three.js

javascript - 使用 header 身份验证 token 通过 REST API 获取 PDF 并在 iframe 中显示

javascript - 无法循环输入并添加它们