重学javascript之外部引入js顺序问题

1,795 阅读1分钟

当我们在页面中调用js代码的时候,通常将js的引入放在body标签后面,这是因为要保证dom元素(html)渲染完成之后再调用js代码,否则可能会带来错误,但是相应的如果dom元素过多,会造成显著的性能损耗。这对于网站的运行有很大的缺陷。 因此我们用可以使用async,使dom和js异步加载

但当我们引入多个script标签时,如:

需要先加载jquery.js,这时候我们可以使用defer ,使其按照顺序加载和运行。 因此: 如果脚本无需等待页面解析,且无依赖独立运行,那么应使用 async。 如果脚本需要等待解析,且依赖于其它脚本,调用这些脚本时应使用 defer,将关联的脚本按所需顺序置于 HTML 中。