Javascript加载订单

时间:2013-09-08 18:00:25

标签: javascript performance

这两种方法之间的加载顺序是否存在差异?这是最好的做法吗?

方法1:

HTML

<script src="test.js"></script>
<script>test()</script>

test.js

function test() {
    alert("Hello World!")
}

方法2:

HTML

<script src="test.js"></script>

test.js

test()

function test() {
    alert("Hello World!")
}           

3 个答案:

答案 0 :(得分:0)

如果性能受到关注,您可以选择任何性能方面没有重大差异。

在第一种方法中,如果test.js加载失败,您将得到错误方法未定义,而在第二种方法中则没有错误。

因此,无论何时使用函数进行第一种方法,都要检查函数是否可用。

或者在jQuery中,您可以将所有代码放入:

$(document).ready(function(){/*do stuff here*/});

它将确保加载javascript并准备好DOM。

答案 1 :(得分:0)

他们都做同样的事情;将window.test设置为函数并执行该函数。在方法1中,由于浏览器按顺序执行脚本,因此在调用test()时,将定义test。在方法2中,由于test在执行代码之前为bound,因此test()将成功。

我更喜欢方法2而不是方法1,因为我可以知道在调用test时定义test的位置,并且所有JS代码都在一个单独的文件中,而不是直接在HTML文件中。< / p>

答案 2 :(得分:-1)

不,他们都是平等的。使用它们中的任何一个。