我在我的页面上散布着一些 javascript 片段——很多都包含在我自己的 .js 文件中,但是我在网上找到的一些内容直接位于页面上。
我不太熟悉 javascript 如何与页面交互 - 添加内联脚本或添加对外部文件的引用有区别吗?
我在我的页面上散布着一些 javascript 片段——很多都包含在我自己的 .js 文件中,但是我在网上找到的一些内容直接位于页面上。
我不太熟悉 javascript 如何与页面交互 - 添加内联脚本或添加对外部文件的引用有区别吗?
使用一种或另一种方式几乎没有区别。真正的区别来自每个人的优点/缺点。
内联脚本
外部脚本
外部脚本文件
外部文件会降低页面渲染速度,因为浏览器必须停止解析并下载外部文件。这增加了一个网络往返,这将减慢一切。此外,由于外部文件被缓存,如果已更新,则很难删除它们
内联代码
尽管内联代码更难阅读和分析,因为它看起来就像是一堆代码拼凑在一起。调试时发现问题很辛苦,程序员的生活很艰难
希望这可以帮助您了解更多:)
查看<script>
标记文档,您可以看到您只能将async
和defer
属性用于外部脚本,这可能会对不使用事件侦听器作为入口点的脚本产生影响。
除此之外,内联使浏览器无法自行缓存它,因此如果您在不同的页面上使用相同的脚本,浏览器缓存将无法启动。因此它可能会对性能和/或带宽使用产生影响。
而且,当然,将代码拆分成文件是组织它的一种方式。
一般来说,评论中指出没有区别。但是,如果该代码段嵌入在页面中 HTML 的中间并且它不是函数,则它会立即执行。如果没有足够小心,这些脚本段在移动到单独的 JS 文件时可能会在行为上有所不同。