加载中
React 事件系统是如何工作的?

一、DOM 事件流 在浏览器中,我们通过事件监听来实现 JS 和 HTML 之间的交互。一个页面往往会被绑定许许多多的事件,而页面接收事件的顺序,就是事件流。它类似于蹦床,从高处下落,触达蹦床...

双端队列解题思维

队列是先进先出的有序集合 1、队列 队头出队,队尾进队 常见操作 进队: items.push(i) 出队: items.shift() 2、双端队列 队头、队尾都可以进队出队 创建操作 队头进队: items.unshift(i) 队头...

哈希解题思维

哈希函数(散列算法、散列函数)能够将任意长度的输入值转换为固定长度的散列值输出,输出值通常为字母和数字组合。在密码学中,散列函数具有不可逆性 1、一个较好的哈希函数 易于计算:易于计...

字符串解题思维

ECMAScript中的字符串是不可变的(immutable),即⼀旦创建,它们的值就不能变了。要修改某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另⼀个字符串保存到该变量 一、知识点...

二叉树解题思维

二叉树小科普 ⼆叉树是最多仅有两个子节点的树,根据节点的分布情况可分为: 平衡二叉树: 每个结点的左右子树的高度相差不能大于1 满二叉树: 除了最底层的叶节点,每个结点都有左右子树 完全...

使用gitlab和drone实现自动化部署

当业务规模快速扩大时,需要部署的项目就会越来越多,为了减少运维成本,一般会搭建一套自动化部署流程,提交代码即可快速发布部署,也叫 CI/CD 或 DevOps,属于工程化/效能/基础建设 一、整...

堆栈解题思维

JS的内存空间主要分为代码空间、栈空间和堆空间,代码空间用于存放可执行代码,栈空间用于存放大小固定的数据。当调用栈完成当前的执行上下文时,需要进行垃圾回收,会触发JS的垃圾回收器自动...

透过浏览器缓存淘汰策略学习LRU算法

浏览器的缓存,即保存在本地的资源副本,当缓存容量达到上限时,则需进行缓存淘汰策略,常见的有先进先出的FIFO、最少使用LFU以及最近最少使用LRU LRU 算法原理 核⼼思想:若数据最近被访问,...

单链表解题思维

一、概念 链表由一组零散的结点通过指针连接而成,每个结点都包含当前结点内容和后继指针。相对于数组,它不受固于存储空间的限制,可更快捷地进行插入和删除操作,主要有以下几种类型: 1、...

JS数组是这么回事

在Chrome V8中,JSArray 继承 JSObject,内部以 key-value 形式存储数据,因此JS数组可存放不同类型的值。它有两种存储方式:使用连续内存空间的快数组 和 以哈希表形式的慢数组。初始化空数...

如何系统的优化页面

优化的目标就是让用户感觉这个站点很「快」其优化手段可从两方面入手: 客观衡量的指标,比如说访问时间,响应时间 主观感知的性能,比如通过视觉引导转移等待时间 做好这两方面都能提升用户...

那些烧脑的JS面试题及原理

一、JS执行机制 Q: JS代码是按顺序执行的吗? A: JS代码执行过程中,需要先做变量提升,而之所以需要实现变量提升是因为JS代码在执行之前需要先编译 Q: JS代码在执行之前做了什么? A: JS会进...

用了这么久的webpack,你不会还没掌握原理?

一、 webpack设计思想 从入口文件解析依赖树 loader转换每个文件节点 plugin监听编译事件 1、webpack从入口文件到产物输出中间过程 读取webpack config文件,与内置参数合并,得到webpack启动...

这一次,我把RN最核心的Bridge撸干净了

本文以 0.59.10 版本的 React Native 为分析对象 一、架构设计 React Native 架构上由 JS 、 Native 以及连接两者的 Bridge 三部分组成 JS 部分:由 JSX 实现的视图 以及 调用 Native 能力实...

代码这么写,可缜密?

一、背景知识 1、安全问题的三大属性 涉及到安全问题时,可以问问自己: "代码这么写,可缜密?",细心的你已经联想到,安全的三大属性正是让代码可(可用性)缜(完整性)密(机密性)?疑问句转换为...

react原理之lane优先级和diff更新

React 16中处理优先级的模型是expirationTime,它使用一个时间长度来描述任务的优先级。而React 17则使用Lane模型来处理任务的优先级,它通过将不同优先级赋值给一个位,通过31位的位运算来操...

事件循环

为了避免dom渲染冲突,JS采用单线程方案,即同一时间只能执行一件任务,若队列里有一个耗时长的任务,则会导致后面任务一直排队等待,甚至发生页面卡死。为此,JS将任务的执行模式分为宏任务...

Fiber协调解决了栈协调哪些问题?

Virtual DOM 是一种编程概念。在这个概念里, UI 以一种理想化的,或者说“虚拟的”表现形式被保存于内存中,并通过如 ReactDOM 等类库使之与“真实的” DOM 同步。这一过程叫做协调。 —— ...

进一步了解setState原理

首先,我们先上一道变体繁多的面试题,这里不贴代码,截图效果会好一些,感兴趣的点击这里查看DEMO代码。 一、变体繁多的面试 问题是:从左到右依次点击按钮,控制台会输出什么?建议在脑海里...

前端路由解决方案

每个技术点的出现,都是为了解决当前的某一些问题。前端路由的出现,解决了页面刷新资源时重复请求的问题,它利用了浏览器路由,记录API 和JS 实现虚拟切换 URL,达到页面切换无刷新的效果 ...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部