你真的了解JS垃圾回收机制吗? 目录 前言 堆栈内存管理 JS垃圾回收机制 标记清除(Mark and Sweep) 标记阶段 清除阶段 标记清除的特点 优点 缺点 引用计数(Reference Counting) 引用计数器的维护 引用计数的跟踪 垃圾回收的触发 回收对象 引用计数的特点 优点 缺点 分代回收(Generational Collection) 老生代回收 新生代回收 分代回收的特点 优点 缺点 内存泄漏 内存泄 2023-07-10 JavaScript 面试文档 javascript 前端 面试 开发语言 性能优化
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇 目录 前言 Transition 属性 简写 进阶用法 Animations @keyframes关键帧 from&to animation动画 属性 简写 进阶用法 贝塞尔曲线(Bezier Curve) 总结 前言实现动画效果是前端提升用户体验的重要一环,从CSS动画到JS动画帧,每种技术都有其独特的优势和适用场景,本篇文章将与大家分享浏览器CSS的原生动画技术 在css中有两种动画 2023-07-03 CSS JavaScript 前端动画 javascript 前端 面试 css
如何在CSS中写变量?一文带你了解前端样式利器 目录 引言 概念 语法 基本用法 使用场景 全局变量 局部变量 编辑 媒体查询变量 动态定义 继承变量 自变量 与其他方案的区别 使用方式上 作用域的区别 编译产物 功能及拓展 总结 写在最后 引言前端的变量写法大致可以分为三大类,分别是CSS-in-JS,CSS预处理器,和CSS原生变量。作为前端开发人员,我们应该了解并善用它们,以便实现更加灵活、可维护的样式。本篇文章将与大家分享一下原生C 2023-06-27 CSS 面试文档 前端 css css3
在?聊聊浏览器事件循环机制 目录 前言 同步/异步编程模型 同步 异步 JS异步模型 调用栈 任务队列 宏任务队列 微任务队列 微任务API 事件循环 队列优先级 混合队列 事件循环实现 总结 参考文章 Event-Loop可视化工具 前言JS是单线程语言,在某个时间段只能执行一段代码。这种单线程模型的好处是不会出现多线程的竞态条件和死锁等问题:在多线程中,某个资源同时被其他线程调度时可能会出现执行顺序不确定导致错误,或者 2023-06-20 JavaScript 面试文档 javascript 前端 面试 开发语言
作为前端开发,你了解MutationObserver吗? 目录 前言 演变过程 基础概念 MutationObserver observe(target, options) attributes:是否监听标签属性变化 childList:是否监听子节点变化 characterData:是否监听文本节点内容的变化 attributeOldValue:是否记录属性变化前的值 characterDataOldValue:是否记录文本节点内容变化前的值 subt 2023-06-12 JavaScript 面试文档 TypeScript javascript 前端 面试
无需服务器,5分钟在公众号中接入ChatGPT 前言在原先使用openAI的接口分别实现过微信聊天,语音对话等功能的基础上,我又将矛头指向了公众号,最近在github中找到了一个挺好玩的案例:公众号机器人,于是打算分享一下整个搭建过程 准备工作 微信公众号 AirCode账号 OpenAI的apikey 源码 Vpn 搭建过程openAI挂vpn进入openAI官网的apikey页面 创建openAI的apikey,点击创建或使用原先的ke 2023-06-06 Node.js 操作方式 JavaScript node.js chatgpt 人工智能
JS的迭代器是啥?精读JS迭代器 目录 前言 概念 优点 用法 对象迭代能力 为什么对象没有迭代器 迭代器的实现 生成器 基础语法 生成器传参 生成器委托 可终止迭代器 总结 前言在ES6中引入了迭代器的概念,它是一种遍历数据集合的机制,提供了一种简单而一致的方式来访问集合中的每个元素,在集合与映射这篇文章中,我们就已经初步认识了Symbol.iterator这个概念。 概念迭代器是通过迭代协议实现的,每一个拥有该协议的对象都可 2023-05-29 JavaScript 面试文档 Node.js javascript 前端 node.js 面试 迭代器模式
浅谈JS的映射和集合 目录 引言 Map 特点 属性及方法 创建 新增 获取 是否存在值 删除 清空 获取长度 键的迭代器 值的迭代器 键值对的迭代器 遍历 使用场景 描述映射关系 缓存 Set 特点 属性及方法 创建及初始化 新增 删除 其他属性 使用场景 数组去重 集合操作 WeakMap 特点 属性及方法 创建及初始化 其他属性 使用场景 属性私有化 避免内存泄漏 WeakSet 特点 属性及方法 创建及初始化 2023-05-22 JavaScript 面试文档 TypeScript javascript 前端 面试 开发语言 ecmascript
TypeScript(十四)变体(协变与逆变) 目录 前言 “鸭子类型” 子类型化 定义 特点 赋值兼容性 反身性 传递性 协变 逆变 双变 不变 思考 看个例子 原因是什么? 返回值 参数 总结 相关文章 前言本文收录于TypeScript知识总结系列文章,欢迎指正!第一次接触到变体这个概念是在深入理解TypeScript中,类型之间的转换称为变体或者变型,在TS中,类型之间能否互相赋值,会不会报错,安不安全这些都与变体有关。本文将带大家了 2023-05-15 TypeScript知识总结 面试文档 TypeScript javascript 前端 typescript 面试 开发语言
JS案例:前端Iframe及Worker通信解决思路 目录 前言 Iframe通信 Worker通信 实现思路 实现过程 MessageCenter类 IPC类 Server类 Client类 PeerToPeer 功能演示 基础功能 父子通信 兄弟通信 父子兄弟通信 线程通信 其他功能 函数调用 索引标识 卸载页面 重置页面 批量执行 批量操作 总结 前言在前端开发中,经常会使用iframe和worker来实现一些特殊的需求,比如将第三方的页面嵌 2023-05-09 JavaScript TypeScript 面试文档 javascript 前端 typescript 面试 html