一>
加载外部脚步放在底部。(尽管脚本下载之间互相阻塞, 但页面己经下载完成并且显示在用户面前了)
二>
多个外部脚本合并为一个外部脚本。(下载一个 100KB 的文件比下载四个 25KB 的文件要快)
三>
减少<script>标签总数。 (每个<script>标签下载时阻塞页面解析过程)
四>
用“联合句柄”URL。在雅虎邮箱上见过,内部如何实现我也不清楚。
http://yui.yahooapis.com/combo?2.7.0/build/yahoo/yahoo-min.js&2.7.0/build/event/event-min.js
(这些文件在服务器上是两个分离的文件, 但是当服务器收到此 URL 请求时,两个文件将被合并在一起返回给客户端)
五> 减少HTTP 请求
六> <script type="text/javascript" src="file1.js" defer></script>
(<script>标签定义了一个扩展属性: defer。 这个 defer 属性指明元素中所包含的脚本不打算修改 DOM, 因此代码可以稍后执行。)
只有很少的浏览器支持 详询
http://www.w3school.com.cn/tags/att_script_defer.asp
七>
异步加载外部script , 必须是不立即执行的 JavaScript 代码
<script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("get", "../../Scripts/js/file1.js", true); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) { var script = document.createElement("script"); script.type = "text/javascript"; script.text = xhr.responseText; document.body.appendChild(script); } } }; xhr.send(null) </script>
八> js 操作变量速度 值类型var > 数组Array > object
九> 作用域链影响性能。局部变量的访问边度总是最快的, 而全局变量通常是最慢的。
时间: 2024-10-12 14:17:34