无法在不同的JS文件中访问JS函数?

时间:2015-11-19 03:08:27

标签: 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="/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>

这是我的main.js

的内容
function initialize() {
    console.log("Initialized!");
    // Do other stuff to render the map
    renderMap();
}

出于某种原因,这会在浏览器中抛出错误Uncaught TypeError: window.initialize is not a function

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

<!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只包含

renderMap()
然后一切正常。是什么给了什么?

0 个答案:

没有答案