这篇文章主要讲解了“怎么通过JavaScript代码优化提高网站和渲染速度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么通过JavaScript代码优化提高网站和渲染速度”吧!
你为网站编写的内容越多,加载所需的时间就越长。因此,在开发网站时,必须使用 JavaScript Code Optimizer 优化 JavaScript 代码。它将帮助你删除开发环境中未使用的功能、特性和代码。
Google Clouser Compiler 和 Uglify JS 是最好的 JavaScript 代码优化工具。这些工具删除逗号、注释和死代码。
优化前的代码
function test(mode)
{
var parent = node.parentNode;
if(0)
{
alert(“Hello. This is the code before optimization.”);
}
else
{
alert (“Hello. Greetings for developers.”);
}
return;
alert(1);
}
优化后的代码
function test()
{
alert (“Hello. Greetings for developers.”);
}
那么,在这里,我们做了什么?
我们删除了变量 parent,因为它永远不会再被使用。
此外,我们删除了 False if() {...} 因为它是一个“死代码”。
退货被删除;它也是死代码。
缩小和混淆 JavaScript 代码方法用于转换 JavaScript。但是,这两种方法是不同的。缩小可以减少文件的大小以减少页面加载时间。
换行符、额外空格、注释等一些因素会增加 JavaScript 文件的大小并影响页面加载速度。通过代码压缩,您可以解决此问题。即使您的所有 JavaScript 代码都只包含在一个字符串中,您的机器也能够读取和启动缩小的代码。
我们知道,毫无疑问,垃圾收集在 JavaScript 中是自动执行的,您不能忽略内存部分。所以,作为前端开发者,不得不使用WeakSet、WeakMap这样的功能来解决内存泄漏的问题。
因此,你可以使用 Chrome Dev Tools 来避免内存泄漏问题。
循环总是消耗大量时间来加载项目,无论其大小如何。因此,你应该很快打破循环的大循环。但是,你可以使用两个关键字来执行此过程:break和continue。
例如,如果你不使用 break 关键字;这个循环将执行 100 次。
let arr = new array(100);
arr[36] = ‘found’;
for (let i = 0; i < arr.length; i++)
{
if(arr[i] === ‘found’);
break;
}
JavaScript 异步加载是同步加载的一部分。它表示你的网站现在已准备好以多流方式加载。
当浏览器遇到<script src="some.js"></script> 时,会在 JavaScript 执行时停止创建 DOM 和 CSSOM 模型。因此,很多时候,JavaScript 代码是在主要的 HTML 代码之后编写的。
好吧,为了消除你的疑虑,让我们在这里查看示例:
<html>
<head>
<script src="big.js">
</script>
</head>
<body> This text will not be visible until big.js is loaded. </body>
</html>
现在,在 JavaScript 代码中,你可以使用 async 标记来确保 DOM 模型是并行创建的,并且不会在 JavaScript 加载或执行时停止。
如果你的 JavaScript 需要操作 HTML 或 CSS 或以特定顺序加载脚本(依赖于 jQuery 的库),请谨慎使用。
让我们看另一个例子;如果你在你的网站上使用流行的 bxSlider 和 CDN for jQuery,你可以将给定的代码添加到你的 HTML 中。
<!-- jQuery library (served from Google) -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!-- bxSlider Javascript file -->
<script src="/js/jquery.bxslider.min.js"></script>
<!-- bxSlider CSS file -->
<link href="/lib/jquery.bxslider.css" rel="stylesheet">
在上面的代码中,我们可以看到 bxSlider 是本地的,而 Google CDN 加载的是 jQuery。因此,如果我们尝试向字符串(包括 jQuery)添加 async 标记,如果jQuery.bxslider.min.js在jQuery.min.js之前加载,则bxSlider可能会发生错误。
因此,需要另一个标签—— defer。
如果浏览器遇到带有 JavaScript 代码的 defer 标记,则不会加载 DOM 和 CSSOM 模型。一旦 DOM 和 CSSOM 模型完成,每个defer标签脚本都会立即运行。任何脚本都将按照您编码的顺序执行。
<script src="1.js" defer></script>
<script src="2.js" defer></script>
在上面的例子中,2.js 不会被执行,直到 1.js 被加载。
这里, defer 和 async 标签准备好只对外部脚本执行(带有 src=”” 标签)。如果你将它们用于像<Script>...</Script>标签这样的内部脚本,这些标签将被避免。
HTTP 协议的最先进和最新版本之一是 HTTP/2。它通过提高 JavaScript 代码性能为您提供许多功能。这将导致网站速度的提高。
HTTP/2 一起处理多个请求和响应。因此,它有助于提高 JavaScript 的加载时间。
如果你处于进退两难的境地,你可以检查这些协议之间的区别:HTTP/2 与 HTTPS。另一个测试是Aka`mai HTTP/2 演示。
加载过程中的元素组织是 JavaScript 代码优化的一个重要技巧。在这里, <head> 部分中的每个元素都是预先加载的,因此它会在用户在 Web 浏览器上看到任何内容之前出现在用户的屏幕上。因此,管理订单以在屏幕上显示结果至关重要。
在这里,页面的无组织元素总是向用户显示一个白页。因此,以适当且合乎逻辑的方式组织所有元素非常重要。它肯定有助于提高用户参与度。
通过深入研究,我们得出结论,如何加载订单会影响用户关注度。
一个屏幕每秒更新 60 次。此数据显示单帧显示在屏幕上需要多长时间 (1000/60=16)。人们擅长监控运动,如果运动的期望没有得到满足,无论是通过可变帧速率还是周期性暂停,他们都会感到沮丧。
如果它在此时间范围内响应用户操作,他们会认为结果是立竿见影的。
行动和反应之间的任何联系都已被打破。
用户会遇到轻微但可预测的延迟。
对于大多数用户来说,加载页面或切换视图是一项任务。
用户在 1000 毫秒(1 秒)后失去对他们正在处理的任务的关注。
用户很可能会感到沮丧并放弃任务;他们以后可能会也可能不会回来。
好吧,Google 称其为RAIL 模型。
在 CDN 的帮助下,你可以显着提高网站的速度和性能。当您使用 CDN 时,你将网站的静态内容链接到全球范围内的扩展服务网络。好吧,如果您的网站迎合海外受众,这一点非常重要。
CDN 从最近的服务器加载您的数据并呈现给访问者。在 CDN 的帮助下,你的文件将自动压缩或优化,以便为访问者快速交付。这使事情运行得更快。
好吧,你可以比较各种 CDN,看看哪一种最适合你。
当我们将 CSS3 与其之前的版本 1.0 和 2.0 进行比较时,旧版本的功能不那么强大,并且需要额外的 JavaScript 来实现更高级的样式效果。但是,CSS3 提供了许多需要较少 JavaScript 的功能。此外,CSS 可以预编译,因此它在 CPS 上消耗的内存比 JavaScript 少。
让我们在这里考虑一个例子。
无需任何 JavaScript,你就可以在 CSS3 和 HTML5 中添加CSSSlider。
这是一个尝试:
HTML:
<!DOCTYPE html>
<html lang="en"></html>
<head></head>
<meta charset="UTF-8">
<title>CSS Slider</title>
<body></body>
<base href="https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/">
<div id="slider"></div>
<figure></figure>
<img src="apple.jpg" alt="">
<img src="strawberry.jpg" alt="">
<img src="cherry.jpg" alt="">
<img src="pineapple.jpg" alt="">
<img src="kiwi.jpg" alt="">
CSS:
@keyframes slidy
{
0% { left: 0%; }
20% { left: 0%; }
25% { left: -100%; }
45% { left: -100%; }
50% { left: -200%; }
70% { left: -200%; }
75% { left: -300%; }
95% { left: -300%; }
100% { left: -400%; }
}
body { margin: 0; }
div#slider { overflow: hidden; }
div#slider figure img { width: 20%; float: left; }
div#slider figure
{
position: relative;
width: 500%;
margin: 0; left: 0 text-align: left;
font-size: 0; animation: 30s slidy infinite;
}
代码测试是分析内存泄漏等性能问题并对其进行修补的重要因素。
那么,你可以实现给定的 JavaScript 测试工具来增强 JavaScript 性能。
控制台时间()
Console.time()用于跟踪操作执行的时间。
最初,你必须简单地调用:
控制台时间(标签);
在这里,“ label ”可以是你的计时器的唯一名称。在该过程结束时,你可以调用:
控制台时间结束(标签);
在这里,将从开始到结束监视操作时间。
YSlow是一个开源性能工具。它分析你的网站性能并提供优化提示。您的网站将被此工具调用,并将其性能与雅虎高性能网站的标准进行比较。
该工具将执行您的网站并将其性能与雅虎高性能网站的标准进行比较。但是,它会给你一个介于 0% 和 100% 之间的分数。
JSFiddle.net是一个在您的 Web 浏览器中执行的 Web 开发编码环境。
它支持:
JavaScript、HTML、CSS 和 CoffeeScript
React、Vue 和 jQuery 的样板
能够演示代码片段并共享它们以进行代码协作
GitHub 问题的简单错误报告
感谢各位的阅读,以上就是“怎么通过JavaScript代码优化提高网站和渲染速度”的内容了,经过本文的学习后,相信大家对怎么通过JavaScript代码优化提高网站和渲染速度这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。