随笔分类 - 前端
摘要:这篇文章是之前给新同事培训react基础所写的文章,现贴这里供大家参考: 1.什么是React? React 是一个用于构建用户界面的JavaScript库核心专注于视图,目的实现组件化开发 2.组件化的概念 我们可以很直观的将一个复杂的页面分割成若干个独立组件,每个组件包含自己的逻辑和样式 再将这
阅读全文
摘要:我们前端都在诟病专业版,它的组件,它的耦合嵌套之深,它的性能。 我们希望改善,我们认为,如果……就好了。 如果重构就好了,如果技术栈统一就好了,如果有规范就好了。 其实,不用等,我们只要在写代码,就可以进行优化。 关键的一点,就是,如何写正确的代码。如果不能写正确的代码,以前的老问题没解决,又会加上
阅读全文
摘要:🔥🔥前端技能图谱2024(更新中) 我从业十几年了,从前端小白到架构,现在在做AI+软硬件相关工作。差不多每个阶段,都会努力向上,到了瓶颈就换,比如从网络工程师,到推广,再到网页设计,到前端,到架构,再到AI+。 我自认为我不属于高精尖,每个领域做到80%就可以超过很多人了。足够的宽度本身就成为
阅读全文
摘要:回流也叫重排,叫回流是为了和重绘从字眼上更好区分。 一、网页渲染流程 浏览器的结构: 用户界面:包括地址栏,前进、后退按钮,书签菜单等。 浏览器引擎:在用户界面和呈现引擎之间传送指令。 呈现引擎:负责显示请求的内容。 网络:用于网络调用,比如HTTP请求;其接口与平台无关,并为所有平台提供底层实现。
阅读全文
摘要:本文作为EVENLOOP事件循环的延伸: 执行顺序: 循环 | | 微任务==》{宏任务==》微任务==》浏览器渲染} >>>> ^ || 监控线程 等待 有返回进行返回 >>>>> 宏任务和微任务都是任务队列,只是用来存放东西的队列。 主线程可以执行代码,渲染UI之类的。 主线程空闲的时候就会去轮
阅读全文
摘要:本文关键: V8是单线程的 任务队列排队执行 抽出io命令抽出到evenloop线程,消息线程,区别与主线程。(同步和异步) 微任务和宏任务执行顺序 重绘和回流 以上流程无限循环 可以这样理解,一个人每天都要做同样的工作,天天如此,这就是循环。他每天的工作就是先收集事件,然后处理事件(或者先处理后收
阅读全文
摘要:js程序中最常用的if else循环,如果分枝很多的的情况下难免使写出的程序又臭又长,但是根据需求又必须将这些分支处理,此时稍有经验的程序员可能会想到用switch case优化但是只是仅仅做到利于阅读,最好的方法是用策略模式进行优化。 那么如何拒绝使用if else呢? 如果程序中只有一个else
阅读全文
摘要:说到计算机网络原理,大家可能马上联想到,七层协议,传输层,链路层,三次握手四次挥手;前端的同学,还会想到我们用Crome F12的network里面的headers,状态码等。后端同学可能会联想到,抓包,路由网关等。你们联想到什么关键字,欢迎留言哟! 那么,我们来提出几个问题: 七层协议之间是如何传
阅读全文
摘要:以上是2020年10月份的版本,后来,我将xmind进行了完善,文档也写的差不多了,可是,电脑坏了,硬盘换了,文件都没有了。这已经是第三次写这个文档了,思维导图就不更新了,按照几个重点进行说明。 这个框架,使用了几个月,也丰富了很多内容。回头看,重点是: 搭建框架顺序,先干什么后干什么,这个弄反了,
阅读全文
摘要:其实不管什么语言,都有一套垃圾回收机制。为什么要有垃圾回收机制?因为内存,程序运行需要内存,如果没有垃圾回收(循环引用,内存泄漏),那么内存占用就会越来越高,轻点说会影响性能卡顿,严重的直接导致崩溃。 JavaScript使用垃圾回收机制来自动管理内存。 JS的回收机制分两种:1.标记清除 2.引用
阅读全文
摘要:工程化思想: 目的——提高开发效率,确保项目可扩展、可维护 宗旨——提高团队协作能力,提高开发效率,降低维护成本 如果说计算机科学要解决的是系统的某个具体问题,或者更通俗点说是面向编码的,那么工程化要解决的是如何提高整个系统生产效率。所以,与其说软件工程是一门科学,不如说它更偏向于管理学和方法论。
阅读全文
摘要:理解了本文,就知道深拷贝和浅拷贝的底层,了解赋值的底层原理。 可以结合另一篇文章一起食用:深拷贝与浅拷贝的区别,实现深拷贝的方法介绍。 以下是正文: 栈数据结构 栈的结构就是后进先出(LIFO),如果读过前面两篇文章应该是相当熟悉了。文中使用乒乓球盒子的结构来解释。 处于盒子中最顶层的乒乓球5,它一
阅读全文
摘要:前后端分离部署时,服务器A用于部署前端项目,称为前端服务器,服务器B用于部署后端项目,称为后端服务器。后端服务器通过开放API的方式,向前端服务器中的前端项目提供数据或数据操作接口,以此实现前端与后端的衔接。若受项目的成本限制,将前端项目与后端项目部署在同一服务器上也是可以的,可以通过nginx等反
阅读全文
摘要:1、 请教个工程问题。 团队运用webpack打包前端代码,转译后的文件每次都需要push到代码库远端;从开发角度而言,是不希望这部分代码在代码库的;两个原因:1是不方便代码review,2是代码仓库不纯净;还有就是公司目前的发布系统,只支持从远端仓库某个分支拉取静态资源推送到服务器端。如何不上传打
阅读全文
摘要:仅个人理解,如有不当请指正 一、从原理上 HashRouter在路径中包含了#,相当于HTML的锚点定位。(# 符号的英文叫hash,所以叫HashRouter,和散列没关系哦)) 而BrowserRouter使用的是HTML5的新特性History,没有HashRouter(锚点定位)那样通用,低
阅读全文
摘要:你不知道的前端 MVVM 模式中的数据层(万字长文,教你造轮子) 实现了 Model 层抽离的全部想法, 后端返回的接口--model(错误处理,返回统一格式,洗数据,缓存)--再拿这个处理过的数据 日常用,某些部分,没有必要封装那么彻底。不过这种思想可以学习一下 你不知道的前端工程化(手把手入门,
阅读全文
摘要:阿里,大中台,小前台,规避重复开发 中台是一种高度集成、有共同特征的不同业务可复用的技术架构方案。 至今我还清楚记得,老A他们的技术架构是按照业务来区分,总共是17个微服务,每个微服务提供了丰富的API接口,其他业务单元只需根据自身的运营需求来调用这些API就行。这样的架构能让单个业务的效率更高的同
阅读全文
摘要:const info = { name: 'xiaobe', } const { name: nickName = '未知' } = info; 其中nickName是解构过程中新声明的一个变量,并且它的值和name一样.而后面的=''则表示当name为undefined时,给name添加一个未知的
阅读全文

浙公网安备 33010602011771号