在HTML页面中加载javascript文件的顺序

时间:2011-10-20 13:03:00

标签: javascript html

  

可能重复:
  Javascript Load Order

如果我们在HTML页面的标题中有许多脚本标记,那么它们是否必须以串行方式呈现,或者它们可以按任何顺序重新呈现。更具体地说,我在HTML的头部有脚本标记,它们仅用于加载.js文件。现在,如果脚本标记早先出现,则意味着它将提前渲染,并且在加载当前文件之前不会加载任何其他.js文件。此外,如果我们有两个具有相同名称的函数,那么通过在script标签(内联)中放置一个函数,可以确保在调用此重复名称函数时只调用此函数。

谢谢, 千斤顶

2 个答案:

答案 0 :(得分:1)

除非设置了async属性,否则HTML文档中的

<script>标记将按顺序执行。这是因为他们可以通过调用document.write来修改HTML文档(包括,例如,添加必须在原始HTML文档中的下一个脚本之前加载和执行的其他脚本)。

由于订单无关紧要,您不应该使用document.write,而是使用DOM(或使用DOM的库),您应该将脚本放在文档的底部。虽然后面的变量赋值(在JavaScript中,包括函数定义)覆盖了前者,但建议对函数使用不同的前缀,以便名称不会发生冲突,和/或使用私有变量,如下所示:

function f() {
  console.log("do one thing");
}

(function() {
  function f() {
    console.log("do another thing");
  }
  f(); // prints "another"
})();

// The "another" function is not visible here.

答案 1 :(得分:0)

按顺序

加载java脚本的顺序

如果您使用将在本地脚本之后加载的任何跨域脚本(在同一域中移动脚本)

尝试将脚本置于html之前,否则脚本将覆盖变量