外部JavaScript文件不工作-引用错误

外部JavaScript文件不工作-引用错误,javascript,html,referenceerror,Javascript,Html,Referenceerror,所以,我有一个非常奇怪的错误。我正在尝试从HTML文件链接到外部JS文件。无论我做什么,都不能调用该外部JS文件中的函数 这是我的HTML代码: <html> <head> <meta charset="UTF-8"> <script src="cookies.js"></script> <script type="text/javascript">

所以,我有一个非常奇怪的错误。我正在尝试从HTML文件链接到外部JS文件。无论我做什么,都不能调用该外部JS文件中的函数

这是我的HTML代码:

<html>
    <head>
        <meta charset="UTF-8">
        <script src="cookies.js"></script>
        <script type="text/javascript">
            //some other JavaScript...
            function test() {
                extTest();
            }
        </script>
    </head>
    <body>
        <button type="button" onclick="test();">Test</button>
    </body>
</html>
(我简化了两个代码块,只包含必要的行。)

因此,每当我单击按钮时,函数extTest()都会打开一个弹出窗口,说“Hello world”。但是没有调用extTest()。相反,我得到一个ReferenceError,说“extTest未定义”。这个问题发生在Firefox以及Chrome和Edge中

这两个文件(HTML和JS)都在我笔记本电脑的同一目录中。我尝试使用相对链接(如上面的代码所示)链接到JS文件,相对链接使用。对于当前目录(./cookies.js)和绝对链接(/C:/…)。我还尝试将JS文件放在它自己的文件夹中并链接到它,但没有成功

我认为JavaScript是初学者,但我已经使用了外部的JS文件,它工作了。你们知道这个错误是从哪里来的吗?我的意思是,我可以将外部文件中的所有代码放入HTML文件中的脚本中,但我真的很好奇为什么它不能以另一种方式工作


非常感谢您提供的任何提示。

您可以像这样使用,您不需要在其中创建其他函数,因为我想您是在cookies.js中创建js代码的

<html>
    <head>
        <meta charset="UTF-8">
        <script src="cookies.js"></script>
    </head>
    <body>
        <button type="button" onclick="extTest();">Test</button>
    </body>
</html>

试验

我想说,一开始,您似乎在声明函数测试,但没有调用它。试着在下面画一条线,它只有: 测试()

一个问题,如果您在external.js文件的底部调用extTest函数,我的意思是再次放一行
extTest();它是否按预期工作?如果没有,则可能还有另一个问题。

这些是您能够重现问题的文件的实际内容吗?也就是说,你确定问题不在你省略的部分吗?控制台中是否有其他错误?查看网络请求时,您的js文件是否实际加载?查看浏览器的“网络”选项卡(在开发人员模式下)并确保在调用函数之前加载了外部javascript文件。我从另一个函数测试中调用了extTest,因为我想在该行中放置一个断点,看看是否可以从调试器中找到更多信息。
<html>
    <head>
        <meta charset="UTF-8">
        <script src="cookies.js"></script>
    </head>
    <body>
        <button type="button" onclick="extTest();">Test</button>
    </body>
</html>