未捕获的referenceError变量未定义

时间:2019-04-11 04:13:18

标签: javascript

为什么下面的示例可以在任何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

...and on Firefox

编辑:

正如@Quentin所说,它应该从html <script>内部运行

这就是我所做的:

<html>
    <title>Javascript</title>
    <body>
        <script>
             var myName = "John Doe";
            </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

如果您在网络浏览器的地址栏中键入JavaScript文件的URL,则会将JavaScript源代码呈现为文本。

它将执行JavaScript。

因此,当您尝试在浏览器的开发人员工具中访问该变量时,该变量未声明且不存在。

在浏览器中执行JavaScript的通常方法是创建一个HTML文档,该文档使用<script>元素加载,但另请参见浏览器扩展服务工作者。在浏览器之外,还存在诸如Node.js之类的工具来执行JS。