Javascript 外部js文件是如何工作的

Javascript 外部js文件是如何工作的,javascript,Javascript,希望有人能向我解释一下,当我们通过脚本标记包含外部js文件时,它们是如何工作的 它是否与css文件一样工作 谢谢你 file.js: alert('foo'); file.html: <script type="text/javascript" src="file.js"></script> file.js: 警报(“foo”); file.html: 基本上没有什么不同,工作原理与: file2.html: <script type="text/jav

希望有人能向我解释一下,当我们通过脚本标记包含外部js文件时,它们是如何工作的

它是否与css文件一样工作

谢谢你

file.js:

alert('foo');

file.html:

<script type="text/javascript" src="file.js"></script>
file.js:
警报(“foo”);
file.html:
基本上没有什么不同,工作原理与:

file2.html:

<script type="text/javascript">
   alert('foo');
</script>
file2.html:
警报(“foo”);

除了第一个涉及到另一个http请求,它可能会由于任何原因而失败,导致您没有JS代码。另一方面,如果不使用所有的js代码,那么在每个页面中嵌入所有的js代码也是对带宽的浪费。

您需要了解HTML是浏览器呈现的文档。您还可以包括其他各种资源

  • 脚本(javascript&浏览器支持的任何此类脚本)
  • 样式表(css)
  • 图像(在脚本/css/inline元素中引用)
  • 字体
当浏览器加载文档(HTML)(作为初始HTTP请求的一部分)时,它会尝试取消引用所引用的资源。 如果存在对上述任何资源的引用,则浏览器会发出额外的HTTP请求以获取资源。 如果HTML文档中嵌入了javascript,那么浏览器不会解释它,而是javascript引擎(浏览器的一部分)解释脚本并运行它

编辑 另外,请参考Marc B提供的答案

我建议您在任何现代浏览器中运行调试器,以了解资源请求是如何发出的


你想知道什么?你的问题很不清楚。我的意思是,在HTML文件中包含脚本标记后,外部js文件中的函数是如何调用或执行的。别忘了caching谢谢你的具体示例,简单但有用。谢谢你的回答,现在我开始了解一些东西。你也可以看看