-1

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

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

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

---> 如果我在内部 js 之上定义外部 js。不工作。

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

1 回答 1

0

通常,您需要将脚本(内部或外部)放在<head>.

谷歌分析喜欢出现在页面底部,因为如果你把它放在现有产品上是有道理的。如果您从一开始就为网站设计脚本,那么您就有机会做对了。

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

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

<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". 确保以有意义的顺序定义脚本。确保您的外部脚本没有奇怪或未记录的依赖项。

于 2013-04-03T11:57:42.620 回答