从外部.js文件调用函数,没有任何反应

时间:2017-06-30 14:44:57

标签: javascript html

我有一个非常基本的JavaScript项目,我只是测试并学习语言。我想让程序做的就是启动并调用外部main.js文件中的函数。目前在发布时没有任何反应。

我曾尝试复制在线提供的示例,但它们似乎并不适用于我。

HTML文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Cex_Program</title>
    <link href="css/default.css" rel="stylesheet" />
</head>
<body>
    <div>Content goes here!</div>
    <script src="js/main.js"></script>
    <script>
        Main();
    </script>
</body>
</html>

JavaScript文件:

功能内容无关紧要,我只想让程序流程进入功能(点击我的断点);

// Your code here!

var InfiniteLoop = 1;
var DeltaTime = 0;

function Main()
{
    var Day = new Date();
    var StartTime = Math.round(new Date() / 1000);
    var StartCurrentLoopTime = 0;
    var EndCurrentLoopTime = 0;
}

2 个答案:

答案 0 :(得分:3)

这确实有效

<!DOCTYPE html>
<html>
  <body>
    <div>Content goes here!</div>
    <script>function Main( str ) { console.log( str ); }</script>
    <script>
        Main( "Main!" );
    </script>
  </body>
</html>

所以

我们可以从中推断出,js/main.js未下载,Main()函数无法访问<script>,或者Main()根本无效或产生可辨别的结果。

有关Main()可能无法访问的原因的详细信息,请参阅this w3schools tutorial about scopes

如果Main()无效,请检查浏览器的控制台是否有错误。

我很乐意根据需要更新此答案以回应积极的反馈。

测试Main()是否可访问

在键入之前查看是否window.hasOwnProperty( "Main" )以查看Main()是否为全局函数。

<!DOCTYPE html>
<html>
  <body>
    <div>Content goes here!</div>
    <script>
        ( function() {
            function Main( str ) { console.log( str ); }
        } () );
        function Alt( str ) { console.log( str ); }
    </script>
    <script>
        if ( window.hasOwnProperty( "Main" ) ) {
            Main( "Main!" );
        } else {
            console.error( "Main() can't be accessed from here" );
            if ( window.hasOwnProperty( "Alt" ) ) {
                Alt( "Alt!" );
            }
        }
    </script>
  </body>
</html>

答案 1 :(得分:0)

我在我的开发机器上创建了你的设置并加载了html页面。假设您的计算机上的文件名称正确,我可以确认代码是否已执行。

检查JavaScript是否在浏览器中正常运行的一种好方法是使用调试器: