目录一、http 模块1、创建 web 服务器2、req 请求对象3、res 响应对象4、解决中文乱码问题5、根据不同的 url 响应不同的 html 内容二、Node.js 中的模块分类1、三大模块分类2、模块作用域3、module.exports 对象4、共享成员时的注意点5、exports 和 module.exports一、http 模块http 模 ......
315
0
0
2023-06-05
目录引言1.什么是npm脚本?2.原则3.通配符4.传递参数5.执行顺序6.默认值7.钩子8.缩写形式9.变量10.常见脚本示例11.使用nrm管理npm镜像引言使用Node进行开发时,必须使用npm,脚本是npm的最强大和最常见的功能之一。我将在本文中介绍如何使用npm脚本。1.什么是npm脚本?Npm允许您使用文件中的scripts字段定义脚本命令pac ......
376
0
0
2023-06-05
目录一、获取元素的两种方式1.利用DOM提供的方法获取元素2.利用层级关系获取元素二、节点概述三、节点层级1.父级节点2.子节点3.第一个子元素和最后一个子元素4.小案例(新浪下拉菜单)5.兄弟节点6.创建添加节点7.删除节点8.复制节点一、获取元素的两种方式我们获取元素通常用两种方式:1.利用DOM提供的方法获取元素1.document.getElemen ......
380
0
0
2023-06-04
目录一、接口1. Interface 接口类型(1) 接口类型的基本使用(2) 可缺省属性(3) 只读属性(4) 定义函数类型(5) 索引签名2. Type 类型别名3. one question二、泛型1. 泛型类型参数2. 泛型类3. 泛型类型4. 泛型约束一、接口1. Interface 接口类型(1) 接口类型的基本使用如下定义一个接口类型:/ ** ......
335
0
0
2023-06-04
目录1. 初始结构2. 定义状态3. this指向4. then 方法5. 执行异常6. 支持异步(重头戏1)7. 回调保存(重头戏2)8. 重难点解读9. 链式功能(重头戏3)1. 初始结构我们先来回顾下 js 里 promise 实例是如何创建的:let promsie = new Promise((resolve, reject) => { ......
368
0
0
2023-06-04
目录1 为什么需要防抖和节流2 防抖与节流原理3 实现一个防抖函数3.1 初步实现3.2 this问题3.3 event问题3.4 立即执行3.5 返回值问题3.6 取消防抖3.7 总结4 实现节流函数4.1 通过时间戳实现节流4.2 使用定时器实现节流4.3 时间戳和定时器组合实现4.4 节流优化5 应用场景1 为什么需要防抖和节流在前端开发当中,有些交互 ......
338
0
0
2023-06-03
目录1 数组与链表的优缺点2 什么是链表3 封装链表结构4 向链表尾部添加一个新的项5 向链表某个位置插入一个新的项6 获取对应位置的元素7 获取元素在链表中的索引8 修改某个位置的元素9 从链表中删除某位置节点10 全部代码1 数组与链表的优缺点链表和数组一样,都可以用于存储一系列的元素,但是链表和数组的实现机制完全不同。一般情况下,要存储多个元素,数组可 ......
328
0
0
2023-06-03
目录前言父子进程间通信负载均衡句柄传递集群子进程事件自动重启总结前言上节我们讲到,通过 fork() 或者其他API,创建子进程之后,可以通过 send() 和 process.on('message') 进行父子进程间的通信。这样就实现了主进程代理请求到工作进程,实现了 Nodejs集群:父子进程间通信负载均衡通过代理,可以避免端口不能重复监听的问题,甚至 ......
368
0
0
2023-06-02
目录效果图: 解决思路:方法如下:1. 首先创建一个整个屏幕的控件,作为一个父容器。2. 绘制遮罩层3.绘制通知框样式4. 绘制标题和内容5. 创建确认按钮控件下面是项目中的完整代码:总结效果图:  uniapp自带的提示框不符合我们的要求,需要自己写一个提示框,且全局通用。解决思路:使用 plus.nativeObj 来绘制窗 ......
745
0
0
2023-06-02
目录前言Buffer 结构底层实现Buffer 对象Buffer 转换字符串转BufferBuffer转字符串总结前言JavaScript 对于字符串(string)的操作十分友好,无论是宽字节字符串还是单字节字符串,都被认为是一个字符串。console.log("你好,世界!".length); // 6 console.log("hello,world ......
364
0
0
2023-06-02
目录前言Buffer 使用Buffer 拼接编码问题拼接的正确姿势文件读取性能在网络中的应用流 Stream管道 pipe()EventEmitter总结前言昨天我们讲述了 Buffer类 的基础用法,今天我们介绍一下 Buffer类 的一些应用以及 流(Stream) 的概念和用法。Buffer 使用Buffer 拼接Buffer 在使用时,通常是以一段一 ......
312
0
0
2023-06-02
目录正文1. 弱引用2. 强引用3. JavaScript 的垃圾收集3.1 可达性4. Set VS WeakSet5. Map VS WeakMap6. WeakMap 的应用6.1 缓存6.2 额外的数据存储7. 小结正文内存和性能管理是软件开发的重要方面,也是每个软件开发人员都应该注意的方面。虽然弱引用很有用,但在 JavaScript 中并不经常使 ......
281
0
0
2023-06-01
前言身为一位前端工程师或多或少都有听过 Webpack 这套前端打包工具吧,为了让最终打包的档案不会过于庞大,Webpack 可是下了非常多的苦功,例如:利用 Code Splitting 产出一个又一个的 chunk 让网页不会一次载入一份很大 JS包。 然而今天的文章其实不是要讲 Code Splitting,而是要讲一个比较深入的原理:Tree Sha ......
305
0
0
2023-06-01
数组是最常见的数据结构之一,我们需要绝对自信地使用它。在这里,我将列出 JavaScript 中最重要的几个数组常用操作片段,包括数组长度、替换元素、去重以及许多其他内容。 1、数组长度 大多数人都知道可以像这样得到数组的长度: const arr = [1, 2, 3]; console.log(arr.length); // 3 ......
341
0
0
2023-05-31
目录前情回顾百变柯里化缓存传参缓存判断缓存计算缓存函数防抖与节流lodash 高阶函数结语前情回顾我们在前篇 《✨从历史讲起,JavaScript 基因里写着函数式编程》 讲到了 JavaScript 的函数式基因最早可追溯到 1930 年的 lambda 运算,这个时间比第一台计算机诞生的时间都还要早十几年。JavaScript 闭包的概念也来源于 lam ......
307
0
0
2023-05-31