内部js文件和外部js文件的主要区别

时间:2015-07-14 09:21:14

标签: javascript

在html页面中包含外部js文件和写下javascript之间是否有任何不同。

案例1

的test.html

<html>
    <head>
        <script type="text/javascript" src="test.js"></script>
    </head>
    <body>
    </body>
</html>

test.js

alert('aaa');

案例2

的test.html

<html>
    <head>
        <script>
            alert('aaa');
        </script>
    </head>
    <body>
    </body>
</html>

如果我的记忆服务正确,案例1的执行速度比Case2快。但我不确定。而且,我找不到相关的文件或文章来支持我的理想。愿有人帮帮我吗?

3 个答案:

答案 0 :(得分:3)

案例1起初稍微慢一些,因为它需要做第二个请求来获取脚本,所以有一点开销。

但是,浏览器会缓存javascript文件,因此,如果您有多个共享同一脚本的页面,则案例2将更有效,因为对于后续页面,浏览器已经具有缓存脚本且不具备需要再次下载。

此外,大多数浏览器将允许打开到同一服务器的两个连接,因此它可以在第一个请求上同时下载页面和脚本,尽管它取决于页面的大小和脚本,服务器,客户端和互联网属性(延迟和速度)哪个解决方案更快。

答案 1 :(得分:0)

案例1:将从服务器检索脚本并同步运行(脚本文件将缓存在后续请求中,文件可以缩小)

案例2:将脚本作为页面的一部分加载(无额外页面请求),并在脚本标记加载到dom时运行。

两者:此时将保留页面

信息:http://webdesign.about.com/od/speed/a/script-placement-for-speed.htm

答案 2 :(得分:0)

总是取决于:

案例1 :如果您的脚本代码更复杂,则更容易查找和编辑输出(只需编辑文件),浏览器可以缓存文件,以便加载更多数据第一次加载后更快,更容易与其他程序/脚本交互,因为他们不必干扰代码,但他们可以编辑文件,使其更简单。

案例2 :如果你想编写一个脚本:不是那么久+之后没有改变

在你的小例子中它完全没有区别,因为它只是一行文字