Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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_Function_Import_Export_Es6 Modules - Fatal编程技术网

Javascript 是否可以导出调用从中导入模块的文件中定义的另一个函数的函数?

Javascript 是否可以导出调用从中导入模块的文件中定义的另一个函数的函数?,javascript,function,import,export,es6-modules,Javascript,Function,Import,Export,Es6 Modules,例如: // module "my-module.js" export default function func1() { ... func2(); ... } 其中func2仅在我们执行以下操作的文件中可用: import func1 from './my-module.js' function func2() { console.log('OK'); } func1(); 这可能吗?否,在创建func1时必

例如:

// module "my-module.js"    
export default function func1() {
      ...
      func2();
      ...
    }
其中func2仅在我们执行以下操作的文件中可用:

import func1 from './my-module.js'

function func2() {
  console.log('OK');
}

func1();

这可能吗?

否,在创建
func1
时必须定义
func2
,否则它将
未定义
,并在调用
func1
时引发运行时异常

您可以将
func2
作为
func1
的参数传递并在内部调用它

//模块“my module.js”
导出默认函数func1(回调){
回调();
}
从“/my module.js”导入func1;
函数func2(){
console.log('OK');
}
职能1(职能2);

否,创建
func1
时必须定义
func2
,否则它将
未定义
,并在调用
func1
时引发运行时异常

您可以将
func2
作为
func1
的参数传递并在内部调用它

//模块“my module.js”
导出默认函数func1(回调){
回调();
}
从“/my module.js”导入func1;
函数func2(){
console.log('OK');
}
职能1(职能2);

这似乎是一个场景,您可能希望利用创建一个抽象类,该抽象类具有一个已声明但未定义的
func2()
,而
func1()
将调用该类。完全导出类,在导入它的文件中,实现抽象类并添加
func2()
的定义,然后
func1()
将按预期在这里工作。这似乎也是一个不错的选择,@BinHong,谢谢!这似乎是一个场景,您可能希望利用创建一个抽象类,该抽象类具有一个已声明但未定义的
func2()
,而
func1()
将调用该类。完全导出类,在导入它的文件中,实现抽象类并添加
func2()
的定义,然后
func1()
将按预期在这里工作。这似乎也是一个不错的选择,@BinHong,谢谢!