在header中定义的函数在body中无法识别?



大家好,我正在学习javascript,在使用导入函数定义head函数时遇到了一个问题:

<script type="module">
import {g1} From './scripts/main.js';
myFunction(){
do something, g1 is called
}
</script>

当我在body中调用myFunction时,我得到myFunction()未定义错误:

<script>
myFunction();
</script>

我的理解是这应该工作,我犯了一个错误与类型属性在头吗?

在JS中,给定代码的作用域被简单地执行如下:

(1)全局作用域;(2)模块范围再>(3)函数作用域

意味着你试图在全局作用域中访问模块作用域变量/函数,你需要以某种方式重构你的代码。你的选择是:

  • 将代码放在同一个模块
  • 或者找到一种方法将一个模块导入到另一个

最新更新