这两种方法之间的加载顺序是否存在差异?这是最好的做法吗?
方法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!")
}
答案 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)