为什么下面的示例可以在任何JavaScript在线工具(例如“ playcode.io”,“ jsfidle”等)上运行,但是在使用vscode编辑时却在任何浏览器上都产生了“未定义变量”?
我也在Sublime上尝试过...同样的结果。
var myName = "John Doe";
console.log(myName);
在chrome或firefox控制台上的结果为:未捕获的referenceError myName未定义。 1:13
没有语法错误。否则,它将无法在playcode.io上运行。
here is the error message as displayed both on Chrome
编辑:
正如@Quentin所说,它应该从html <script>
内部运行
这就是我所做的:
<html>
<title>Javascript</title>
<body>
<script>
var myName = "John Doe";
</script>
</body>
</html>
答案 0 :(得分:1)
如果您在网络浏览器的地址栏中键入JavaScript文件的URL,则会将JavaScript源代码呈现为文本。
它将不执行JavaScript。
因此,当您尝试在浏览器的开发人员工具中访问该变量时,该变量未声明且不存在。
在浏览器中执行JavaScript的通常方法是创建一个HTML文档,该文档使用<script>
元素加载,但另请参见浏览器扩展和服务工作者。在浏览器之外,还存在诸如Node.js之类的工具来执行JS。