脚本类型=“模块”中的变量“不可见”吗?

Ric*_*ard 6 html javascript module object ecmascript-6

假设我有以下代码:

//myjs.js
let testingVisibility = "hello";
Run Code Online (Sandbox Code Playgroud)
<script type = "module" src = "myjs.js"></script>
Run Code Online (Sandbox Code Playgroud)

当我想testingVisibility通过 Firefox 中的控制台访问变量时,testingVisibility未声明变量。

Jac*_*ord 5

因为您还没有导出它们 - 导出是type="module". 只需使用普通脚本即可:

<script src="myjs"></script>
Run Code Online (Sandbox Code Playgroud)

如果您想使用type="module",请从以下位置导出一些内容myjs

export let testingVisibility = "hello";
Run Code Online (Sandbox Code Playgroud)

然后在你的 HTML 中;

<script type="module">
    import { testingVisibility } from "./myjs";
    //Do stuff with testingVisibility
</script>
Run Code Online (Sandbox Code Playgroud)

  • @RichardW 是的,只要你不明确地将它们分配给“window”。 (3认同)