Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从外部javascript文件访问嵌入到另一个函数中的函数?_Javascript - Fatal编程技术网

如何从外部javascript文件访问嵌入到另一个函数中的函数?

如何从外部javascript文件访问嵌入到另一个函数中的函数?,javascript,Javascript,如果已经有人问过这个问题,我深表歉意,但由于某些原因,我找不到相关的答案 因此,我有一个脚本X.js,它有两个函数:嵌入到主函数a中的函数B,以及包含函数C的外部脚本Y.js。这两个脚本都位于根文件夹中 脚本X.js 脚本Y.js 我的问题是如何将函数B的输出直接导入脚本Y.js中的函数C?您也可以使用1或2像这样导入或导出函数 如果使用ES6,请使用导入/导出 scriptX.js export function A() { function B() { return y

如果已经有人问过这个问题,我深表歉意,但由于某些原因,我找不到相关的答案

因此,我有一个脚本X.js,它有两个函数:嵌入到主函数a中的函数B,以及包含函数C的外部脚本Y.js。这两个脚本都位于根文件夹中

脚本X.js

脚本Y.js


我的问题是如何将函数B的输出直接导入脚本Y.js中的函数C?

您也可以使用1或2像这样导入或导出函数

如果使用ES6,请使用导入/导出 scriptX.js

export function A() {
    function B() {
       return yourData;
    }

    return B();
};
var A = function () {
    function B() {
      return yourData;
    }

   return B();
}

module.exports.A = A;
scriptY.js

import { A } from './ScriptX';
    export function C() {
       return A();
    }
}
var A = require('./scriptX');
function C() {
    return A();
}
Requirejs模块 //在html中引用require.js

<script data-main="scripts/main" src="scripts/require.js"></script>
scriptY.js

import { A } from './ScriptX';
    export function C() {
       return A();
    }
}
var A = require('./scriptX');
function C() {
    return A();
}

理想情况下,对于这样的问题,您应该使用Webpack之类的工具来实现适当的模块系统。但如果没有这些,为什么不直接将B从A中取出,这样C就可以访问它呢?@CertainPerformance,因为B处理来自A的数据流A@wawa然后用A:Ba.data中的数据调用B。除非函数B是从函数A返回的,否则不能调用。函数B在编译时不存在,所以任何编译器都不可能链接它。然而,如果A==>=>{….},那么A的结果将是bc。你能给我一个你将如何做的例子吗?这无助于回答访问嵌套函数的问题。我还可以通过使用parameters@Lex您是对的,但我将展示如何导出/导入函数。嵌套函数也可以移出函数A并导出以供ScriptY使用