在HTML页面中放置内部JS和外部JS的位置

时间:2013-04-03 11:37:01

标签: javascript external internal

我在我的页面中使用了内部JS(页面上),我为编码目的而编写。除此之外,我也使用外部JS。我在我的内部JS中使用了外部JS(在页面上)。当我将External JS放在我的内部JS之下时,它工作正常。但是当我将External JS放在内部JS之上时,它不起作用。我问这个是我的知识。我只是想知道原因。我知道...... JS应该放在body标签的末尾。但是当我使用内部和外部JS时呢。

--->如果我定义外部js低于内部js。工作正常。

<script type="text/javascript">
    script code .. which uses external.js function. 
</script>
<script type="text/javascript" src="external.js"></script>

---&GT;如果我在内部js上面定义外部js。不起作用。

<script type="text/javascript" src="external.js"></script>
<script type="text/javascript">
     script code .. which uses external.js function.
</script>

1 个答案:

答案 0 :(得分:0)

通常,您需要在<head>

中放置内部或外部脚本

Google Analytics likes to be at the bottom of the page,如果您将其打到现有产品上,那么这些理由是有意义的。如果您从一开始就为网站设计脚本,那么您就有机会做到这一点。

脚本是内部还是外部通常取决于哪种方法更有意义。如果您有一个在多个页面上使用的脚本,您可能会将其放在外部脚本中,以便您可以重复使用它。性能考虑非常复杂,这当然不是一件小事。

我猜你遇到的是外部脚本对某些内部脚本的依赖。

<script type="text/javascript">
    var my_var = "foo";
</script>
<script type="text/javascript" src="external.js"></script>

-- external.js
console.log(my_var);

如果您更改上述示例中的脚本顺序,则会打印undefined而不是"foo"。 确保按照有意义的顺序定义脚本。确保您的外部脚本没有奇怪的或未记录的依赖项。