这是一个例子。

    function parentOne(){
        //do something

       function ChildOne(){
        // do something
       };
    };

    function parentTwo(){
       //how can I input data into ChildOne() from here?
    };


我正在尝试修复错误。只有在撞到childOne后,ParentTwo才能工作。那是因为当在我的代码中击中childOne时,它将启动Direction API。之后,我可以使用parentTwo更改表单中的to或from值,它将提交。有点难以解释,但是如果用户没有首先通过parentOne函数执行操作,则需要parentTwo来初始化childOne。

我知道javascript,但我之前从未尝试过,如果对我来说有点可疑。

最佳答案

您可以将ParentOne称为创建函数的工厂(ChildOne)。但是您需要稍微重写一下。

function parentOne(){
  //do something

  return function ChildOne(){
    // do something
    return 'x';
  };
};

function parentTwo(){
  //how can I input data into ChildOne() from here?
  var a = parentOne();

  //You can call a() now. It runs the returned function which is ChildOne
  var b = a();

  //b is now the result of ChildOne, which is 'x'
};

07-24 09:30