为什么我不能在定义.js源的<script>标记内执行JavaScript函数?

Hom*_*ata 0 javascript

我正在定义.js文件的源并尝试从同一标记中的该文件调用函数,如下所示:

<script type="text/javascript" src="jsFunctionTest.js">
    testMethodCall();
</script>
Run Code Online (Sandbox Code Playgroud)

.js文件只包含:

function testMethodCall(){
    window.alert("Hello there");
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我没有看到警报.

但是,如果我将标记更改为两个标记,如下所示,那么它可以工作:

<script type="text/javascript" src="jsFunctionTest.js"></script>
<script type="text/javascript">
    testMethodCall();
</script>
Run Code Online (Sandbox Code Playgroud)

这看起来很混乱.有没有理由第一个不起作用?

Sat*_*pal 9

script元素可以具有src属性内容,但不能同时具有两者.如果两者都有,则忽略内容(内容被视为"脚本文档",而不是代码).