大家好,我正在学习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)函数作用域
意味着你试图在全局作用域中访问模块作用域变量/函数,你需要以某种方式重构你的代码。你的选择是:
- 将代码放在同一个模块
- 或者找到一种方法将一个模块导入到另一个