Javascript加载顺序
这两种方法在加载顺序上是否存在差异?这方面有最佳实践吗 方法1: HTML 方法2: HTMLJavascript加载顺序,javascript,performance,Javascript,Performance,这两种方法在加载顺序上是否存在差异?这方面有最佳实践吗 方法1: HTML 方法2: HTML 不,他们都是平等的。使用它们中的任何一个。不,它们都是相等的。使用它们中的任何一个。性能方面没有重大区别。如果性能是一个问题,您可以选择任何一个 在第一种方法中,如果test.js加载失败,您将得到一个未定义的错误方法,而在第二种方法中,将不会出现错误 所以,无论何时使用第一种方法的函数,都要检查该函数是否可用 或者在jQuery中,您可以将所有代码放入: $(document).ready(func
不,他们都是平等的。使用它们中的任何一个。不,它们都是相等的。使用它们中的任何一个。性能方面没有重大区别。如果性能是一个问题,您可以选择任何一个 在第一种方法中,如果
test.js
加载失败,您将得到一个未定义的错误方法,而在第二种方法中,将不会出现错误
所以,无论何时使用第一种方法的函数,都要检查该函数是否可用
或者在jQuery中,您可以将所有代码放入:
$(document).ready(function(){/*do stuff here*/});
它将确保javascript已加载且DOM已准备就绪。在性能方面没有重大差异,如果考虑性能,您可以选择任何一种 在第一种方法中,如果
test.js
加载失败,您将得到一个未定义的错误方法,而在第二种方法中,将不会出现错误
所以,无论何时使用第一种方法的函数,都要检查该函数是否可用
或者在jQuery中,您可以将所有代码放入:
$(document).ready(function(){/*do stuff here*/});
它将确保javascript已加载,DOM已准备就绪。他们都在做相同的事情;将
window.test
设置为函数并执行该函数。在方法1中,由于浏览器按顺序执行脚本,因此当调用test()
时,将定义test
。在方法2中,由于test
在代码执行之前,因此test()
将成功
我更喜欢方法2而不是方法1,因为我可以知道调用
test
时在哪里定义了test
,并且所有JS代码都在一个单独的文件中,而不是直接在HTML文件中;将window.test
设置为函数并执行该函数。在方法1中,由于浏览器按顺序执行脚本,因此当调用test()
时,将定义test
。在方法2中,由于test
在代码执行之前,因此test()
将成功
我更喜欢方法2而不是方法1,因为我可以知道调用
test
时在哪里定义了test
,并且所有JS代码都在一个单独的文件中,不是直接在HTML文件中。将所有脚本放在结束正文标记之前。将所有脚本放在结束正文标记之前。感谢您的回答和您对首选方法的推理。感谢您的回答和您对首选方法的推理。感谢您从性能的角度来看,这是我最大的担忧。我特别好奇的是,方法2中的test()是否会等到DOM加载后再执行。感谢您从性能的角度来看它,这是我最关心的问题。我特别好奇的是,方法2中的test()是否会等到DOM加载后才执行。
<script src="test.js"></script>
test()
function test() {
alert("Hello World!")
}
$(document).ready(function(){/*do stuff here*/});