Javascript Can';是否在不同的JS文件中访问JS函数?

Javascript Can';是否在不同的JS文件中访问JS函数?,javascript,Javascript,我有以下代码: <!DOCTYPE html> <html> <head> <title>some_stuff</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="icon" type="img/ico" href="/

我有以下代码:

<!DOCTYPE html>
<html>
<head>
  <title>some_stuff</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
  <link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
  <body>
    <script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
    </script>
  </body>
</head>

</html>
出于某种原因,这会引发错误
uncaughttypeerror:window.initialize不是浏览器中的函数

但是,如果我将代码更改为:

<!DOCTYPE html>
<html>
<head>
  <title>some_stuff</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
  <link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
  <body>
    <script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
    </script>
    <script>
        function initialize() {
            console.log("Initialized!")
        }
    </script>
  </body>
</head>

</html>

然后一切都开始了。给出了什么?

您可能没有引用正确的目录,请检查以确保为
main.js
@TheShaman加载的脚本您的建议毫无意义。如果您将
调试器
进入
main.js
:它会在google maps sdk触发arror之前中断吗?是的,顺序不会影响回调。无论如何,我倾向于相信,只要加载脚本,您就会调用
renderMap()
,幸运的是,异步js文件已经加载了。除此之外,我想知道
“Initialized”
字符串是否被记录到控制台中。检查开发控制台网络面板中JavaScript文件的顺序。我只是随便看看,不知道为什么在同一个标签上有
async
defer
。这是关于它的信息。如果我是你,我会放弃async,然后再试一次。让我知道。我也对这个感兴趣。
<!DOCTYPE html>
<html>
<head>
  <title>some_stuff</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
  <link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
  <body>
    <script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
    </script>
    <script>
        function initialize() {
            console.log("Initialized!")
        }
    </script>
  </body>
</head>

</html>
renderMap()