0

假设我们有以下页面:

<html>
    <head>
    </head>
    <body>

    <script src="jQuery.js"></script>
    <script src="myFile.js"></script>
    <script>
        $(document).ready(function() {
            test();
        });
    </script>
    </body>
</html>

myFile.js 看起来像这样:

$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
});

然后console.log会输出如下错误:

Uncaught ReferenceError: test is not defined

我宁愿不包含我的 .JS 文件<head>(我认为这会解决问题),因为在 HTML 之后加载它更干净,在页面的页脚中。

任何想法如何等待test();运行,直到myFile.js加载?

4

1 回答 1

2

test如果要在其他地方使用它,则需要在全局范围内进行定义。此外,如果您的代码位于页脚中,则无需等待文档准备好。

//$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
    // add it to global scope
    // window.test = test;
//});

<script>
    //$(document).ready(function() {
        test();
    //});
</script>
于 2013-10-30T20:30:05.477 回答