我很好奇为什么当我将脚本类型设置为type="module"
时无法在浏览器控制台中访问已定义的变量。]>
下面是一个假设的设置:
<!DOCTYPE html> <html> <head> <div id="containerFirst">...</div> <div id="differentContainer">...</div> </head> <body> ... </body> <script type="module" src="module.js"></script> <script src="normal.js"></script> </html>
这是两个JS文件,第一个module.js:
export const firstContainer = document.getElementById('containerFirst');
以及normal.js中类似的变量结构:
const otherContainer = document.getElementById('differentContainer');
当我在浏览器中运行此代码时,可以直接在控制台中输入normal.js中定义的变量,但不能从module.js中键入该变量。我希望在这件事上能找到一些清晰的地方。谢谢!
我很好奇为什么我将脚本类型设置为type =“ module”时无法在浏览器控制台中访问已定义的变量。下面是一个假设的设置:<...>
如果您在相关模块代码中的断点处暂停,则可以访问模块变量,但如果不是,则不能访问。根据设计,模块中的顶级声明不是全局变量。每个模块都有自己的作用域,就像它们是只被调用一次的函数(这是rough