前端开发之:大文件传输
1. 大文件上传 1.1. 传输协议 HTTP分块传输和BitTorrent协议适合大文件上传。 HTTP分块传输 - HTTP分块传输是一种HTTP协议的传输方式,它将数据分成若干个块进行传输,每个块都包含自己的长度信息,接收方可以根据长度信息将块重新组装成完整的数据。 - 优点是可以在传输过程中进行流式处理 - 缺点是需要占用较多的服务器资源 …
前端开发之:ES6Class对象
对象 一个对象是 Javascript 中的引用数据类型。它由键值对构成,每对键值间使用冒号分隔,键值对之间使用逗号分隔。一个对象可以为空或拥有无数个属性。 对象有比较多的应用。它可以用于将相关的数据封装到一起,形成一系列有关联的数据和功能,这些相关数据和功能被封装在一个对象中,这种设计思想就称为面向对象编程。 对于前端开发者来说,对象是非常常见的…
程序开发之:nodejs包管理-npm
npm npm 是 Node.js 的包管理器,用于安装、升级、卸载 Node.js 模块。 它是世界上最大的软件注册表之一,拥有超过 800,000 个包(即库)。 npm 可以让开发者轻松地共享和重用代码,也可以轻松地管理项目依赖项。 原理 npm 包的工作原理是通过 npm 命令行工具下载和安装模块,同时将模块的信息存储在 package.j…
前端开发之:内存泄漏
内存 JavaScript 内存泄漏通常是由于不合理的内存管理导致的,例如创建了大量的全局变量或闭包,或者未正确释放事件监听器和定时器等资源。 可以通过使用垃圾回收机制来解决内存泄漏问题,例如将不再使用的对象设置为 null,或者使用闭包来限制变量的作用域。 另外,避免在循环中创建大量的对象,可以使用对象池来重复使用对象,从而减少内存占用。 内存分…
前端开发之:异步I/O
promise Promise是一种用于处理异步操作的对象,它可以将异步操作的结果以回调函数的形式返回给调用者。 Promise对象有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。 当异步操作执行完毕后,Promise对象的状态会从pending变为fulfilled或rejected,然后调用对应的…
前端开发之:javascript高级
javascript 高级 安全的函数作用域 立即调用的函数表达式(IIFE)是一种常见的JavaScript模式,用于创建私有作用域。IIFE是一个函数表达式,它在定义后立即调用。在IIFE中定义的变量和函数只能在IIFE内部访问,而不是在全局作用域中访问。这使得IIFE非常有用,因为它们可以帮助防止命名冲突和其他问题,同时仍然允许在全局作用域中…
软件开发之:树的遍历
树的遍历 遍历顺序是根据访问父结点的时序确定的 先序遍历 优先访问父结点,然后依次访问左子结点,右子结点 const traverse = (parentNode, callback) => { if (parentNode !== null) { // parent node callback(parentNode); // left no…
前端网络之:抓包,数据拦截,请求修改
浏览器请求拦截 对 window.XMLHttpRequest 对象的重写 拦截请求入参(通过修改 send 方法修改) class XMLHttpRequestInter extends window.XMLHttpRequest { constructor(...args) { super(...args); } send(...params)…
前端开发之-网页字符编码
字符编码 unicode 国际化,字符类型之间转换无损 UTF-8, UTF-16, UTF-32 类型 说明 UTF-8 最常用字符编码,一般由1-4个字节(对应ASCII编码的0-127),也可在5-6个字节(不在ASCII码中)表示,可变长度 UTF-16 每个字符占用2个字节,宽字符,大尾序,小尾序 UTF-32 每个字符占用4个字节 国标…