JavaScript 嵌套函数交叉引用

JavaScript Nested Functions cross referencing

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

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

  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