在文件之间共享变量(没有全局变量)

2024-04-28

据我了解,使用创建的变量let在 Javascript 中不能是全局的。我thought这意味着该变量仅存在于该特定文件中。

然而,当我做一个简单/人为的例子时:

A.js:

let a = 5;

B.js:

console.log(a);

索引.html:

<script type="text/javascript" src="A.js"></script>
<script type="text/javascript" src="B.js"></script>

它记录了 5!奇怪的是,如果我登录window.a,记录为undefined,所以全局变量是not正在被创建。

我的问题是,变量如何在文件之间共享而不是全局变量?


它保留在当前作用域内,即最外层的块作用域(或 Bergi 很好地提到的全局作用域),所以这可以工作

<script>
let world = 'world';
</script>
<script>
console.log( `hello ${world}` );
</script>

这不会

<script>
{
  let world = 'world';
}
</script>
<script>
console.log( `hello ${world}` );
</script>

您使用两个不同的文件并不重要。最后,所有加载的脚本都会被放在一起,优化并执行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在文件之间共享变量(没有全局变量) 的相关文章

随机推荐