Javascript 脚本标记是否创建新的执行上下文?
当我们加载外部脚本时,这个脚本(aka模块)是否创建了新的执行上下文?Javascript 脚本标记是否创建新的执行上下文?,javascript,Javascript,当我们加载外部脚本时,这个脚本(aka模块)是否创建了新的执行上下文? 我的索引html文件。 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maxim
我的索引html文件。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script src="app.js"></script>
</body>
</html>
在下面的屏幕截图中,在测试功能内部时调用堆栈状态。这是我的app.js文件执行上下文的匿名反映吗?
一个单词回答NO.代表ex。如果您加载jQuery并尝试在其他文件中访问它,它是可用的。但“是的作用域”是您需要理解的。@Manish“是的,我知道我在全局作用域中可访问的其他文件中声明的变量。但这很有趣,我从哪里来的匿名调用堆栈?当我阅读每个博客中的其他博客时,我会说调用堆栈底部执行上下文是全局执行上下文。那么这意味着Anomous表示全局?我问这个问题是因为我来这里的原因是我们可以加载另外两个脚本文件,如果一个抛出错误,那么加载其他脚本就没有问题。在这种情况下,当加载两个文件时,假设第一个抛出错误,同时加载/执行匿名代码段,那么这将导致问题你们需要小心这样的情况,因为他们会破坏你们的网站。但这并不是使问题加载其他脚本
function test() {
debugger;
}
test();