据我了解,使用创建的变量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(使用前将#替换为@)