2023,没有搞不定的JavaScript!

2023-01-14 0 1,041

原副标题:2023,没不乐意的JavaScript!

翻译者 | 涂承烨

由于标识符由此可见性低,采用JavaJAVA进行代码可能会很费时。这里有12个典雅的JavaScript基本功,能协助你在2023年强化标识符生成。

JavaScript已经成为下一大批开发者中最主要JavaScript。对于后端程式设计、构筑互动式、功能强大的中文网站以及加速简洁的Web插件来说,这是一个难以置信的辅助工具。每一后端开发人员都知道JavaScript,不过,假如在矢口否认的情况下采用它,情况会变得更为严重。差劲的JavaScript标识符会负面影响中文网站的操控性、图形速率和读取天数。在这篇昌明中,他们将撷取许多基本功,协助你强化未来的JavaScript之旅。让他们一起来看看。

一、增大文档的JavaScript标识符

增大标识符与混为一谈标识符不同。不过,这两种方式都是切换JavaScript的方式——读起来更复杂或更小。增大实现了前者,并能增大压缩率以减少网页读取天数。操作符、累赘字符、注解等单厢增加JavaScript文档的大小,并负面影响网页读取的速率。增大标识符能解决这个问题。

二、须建.js复本未采用的模块

开发者采用JavaScript库,如jQuery UI或jQuery Mobile等。这意味着标识符包涵了每一库的所有模块,而你可能只须要其中的许多模块。

假如你Tiruvanamalai理解将在库的别的P43EB96SJ包涵什么样模块,那么就选择那些某一的模块。你的中文网站将读取更快,使用者将得到一个较好的新体验。

三、采用HTTP/2协定

这一主要ISAKMP(HTTP)的预览版能为开发者提供许多很棒的功能。它的众多缺点之一是数据通信。这容许你采用TCP相连mammalian地接受类似的允诺和积极响应。此外,晚期的ISAKMP须要对JavaScript理论有有条理的了解和增强的科学知识,而HTTP/2能使JavaScript加速读取。因此,HTTP/2在操控性上能比HTTP协定快得多。

2023,没有搞不定的JavaScript!

2023,没有搞不定的JavaScript!

四、GZIP模块适用于Apache、Node.js和Nginx

GZIP是一种令人惊叹的压缩技术,它是在几年前互联网还没像现在这样高速发展的时候引入的。它减少了Web服务器上的文档,将静态文档压缩到真实大小的80%到90%。由于JavaScript是文本文档,你能采用GZIP来压缩JavaScript文档,也有助于减少网页读取天数。

2023,没有搞不定的JavaScript!

有许多模块可用于Web服务器,包括Nginx和Apache。由于JavaScript同时用于后端程式设计和后端程式设计,因此能采用Node.js的zlib模块来压缩JS文档。

复制

// Code to run zlib module

Const zlib = require(‘zlib’);

采用GZIP的标识符:

复制

Const gzip = zlib.createGzip();

Const fs = require(‘fs’);

Const inp = fs.createReadStream(‘input.txt’);

Const out = fs.createWriteStream(‘input.txt.gz’);

Inp.pipe(gzip).pipe(out);

五、缩短DOM层次和访问深度

DOM (Document Object Model,文档对象模型)是组成网页结构的对象的数据表示形式。每一Web网页都是文档,通常是一个HTML文档,文档中的每一对象称为节点。作为对使用者输入的积极响应,JavaScript会负面影响DOM及其节点改变结构、样式和内容。

每次JavaScript标识符访问DOM模块或修改DOM时,这取决于开发者是怎么处理DOM的。假如系统必须在DOM中重新计算多个节点,这将消耗更多内存并降低操控性。在强化标识符时,修剪冗长的DOM的树型结构层次是一个较好的方式。保持较小的DOM有很多好处:

减少内存泄漏的风险 强化网络效率和负载操控性 良好的执行操控性

下面是许多最小化DOM的方式:

减少DOM引用 回避复杂动画 保持简单的CSS规范

六、将JavaScript标识符和CSS放在head部分

此方式协助你更快地读取网页;但是,你须要对DOM和SCCOM有较好的理解。这样做的目的是在head部分保留更少的CSS和JavaScript标识符,以便网页立即读取,而更一般的标识符通常保存在不同的.CSS和.js文档中。

七、抛弃等待,放到promise.all里一起执行

你应该将调用和未解决的promise合并到一个数组中,而不是等待执行。例如,假如要对数据库进行多次调用,通常须要等待的天数是每次调用完成的天数之和。

复制

//Code to call two databases

const getUsers = async () => {

const consumers = await findAllConsumers();

const managers = await findAllManagers();

Return { consumers, managers}

}

最好的方式之一是同时运行两个调用,并在大约一半的天数内解析输出。

复制

// code to call both databases simultaneously

const getUsers = async () => {

const consumers = findAllConsumers();

const managers = findAllManagers();

Return Promise.all([consumers, managers]);

}

你不必等待两个数据库都执行完成,两者是并行运行的。

八、代码分割

这是一种实践,将函数式元素的标识符分解在小文档中,以便在须要时调用。将标识符分割为小块,用插件中某一功能和特性的部分读取天数替换单个大型JavaScript文档的读取天数。你能采用不同但可用的打包辅助工具来分割标识符以进行插件强化。

九、测试标识符

测试对于识别内存泄漏等操控性问题并恢复它们至关重要。下面是许多常用的JavaScript测试辅助工具:

1.Console.time()

这是一个内置的JavaScript函数,能采用它来检查执行某个过程须要多长天数。在这个过程的开始,只需调用:Console.time(label);

在这里,label能是你给定时器的唯一名称。在这个过程的最后,只须要调用:Console.timeEnd(label);

编写此标识符可为你提供执行某个过程的处理天数。

2.YSlow

它是一个开源的操控性测量辅助工具,能评估中文网站并提供操控性改进建议。YSlow调用你的中文网站,并将其性能与雅虎的中文网站操控性标准进行比较。它会给你一个介于0到100%之间的分数。这是增强标识符以获得更好操控性的好方式。

十、在集群中运行插件

在Node.js中,你能利用集群模块来运行与父进程mammalian运行的子进程。子集群或进程在V8、事件循环和内存中运行。这将为每一进程分配负载和任务。

2023,没有搞不定的JavaScript!

十一、内存溢出

在这种状态下,进程完成了对内存的采用,但没将其返回给另一个插件或进程采用的操作系统。每次在JavaScript中创建对象或声明变量时,单厢占用内存。当你采用完一个对象或变量时,内存溢出可能会发生,但JS运行时仍然会考虑你还须要它。这将负面影响系统操控性,因为应该为其他不再可用的进程释放资源。避免JavaScript内存泄漏的最佳方式是适当地管理作用域。

十二、异步读取:Defer和Async标签

JavaScript的异步读取意味着中文网站以多信息流的方式读取。

2023,没有搞不定的JavaScript!

当Web浏览器找到<script src = ” some.js ” ></script>的字符串时,它将在JavaScript执行期间停止创建DOM和CSSOM模型。这就是大多数JavaScript标识符放在主HTML标识符之后的原因。看下面的标识符来理解这一点:

复制

<html>

<head>

</head>

<body>

This will not appear until hello.js is loaded.

</body>

</html>

你能给JavaScript添加一个async标签,这样DOM模型就能并行创建,并且在JavaScript读取和执行时不会被干扰。

十三、总结

他们尝试为你提供12个基本功来改进你的JavaScript之旅。你可能会发现很难一次性记住上面提到的所有基本功。但通过实践,你会学会所有这些方式,并见证JavaScript操控性的重大提升。

原文链接:https://dzone.com/articles/12-ways-to-optimize-your-javascript-journey

翻译者介绍

涂承烨,51CTO社区编辑,信息系统项目管理师、信息系统监理师、PMP,某省综合性评标专家,拥有15年的开发经验。

责任编辑:

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务