首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层原理
订阅
treker
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
React 运行时优化方案的演进
上周刚在公司进行了一次 React 运行时优化方案的分享,以下是分享的文字版,文章比较长,干货也很多,相信你看完后会对 React 有不一样的理解。
原生实现前端路由
在 Web SPA 中,前端路由描述的 URL 与 UI 之间的单向映射关系,即 URL 变化引起 UI 页面的更新(无需刷新页面)。 上面我们提到,在前端路由中,当 URL 发生变化时,我们需要在不刷新页面的情况下,触发 UI 页面的更新。因此,在实现前端路由时,我们需要解决…
co 源码精读
co 是著名的 TJ 于 2013 年推出的一个利用 ES6 的 Generator 函数来解决异步操作的开源项目,也是后来 JavaScript 异步操作的终极解决方案—— async/await 的先驱。时至今日,co 版本号已经来到了 4.x,不过其代码仍然只有寥寥数百行…
【ES6基础】迭代器(iterator)
迭代器(iterator)是一个结构化的模式,用于从源以一次一个的方式提取数据。迭代器的使用可以极大地简化数据操作,于是ES6也向JS中添加了这个迭代器特性。新的数组方法和新的集合类型(如Set集合与Map集合)都依赖迭代器的实现,这个新特性对于高效的数据处理而言是不可或缺的,…
你不知道的浏览器页面渲染机制
浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Sa…
浏览器与Node的事件循环(Event Loop)有何区别?
本文我们将会介绍 JS 实现异步的原理,并且了解了在浏览器和 Node 中 Event Loop 其实是不相同的。 官方的说法是:进程是 CPU资源分配的最小单位;线程是 CPU调度的最小单位。这两句话并不好理解,我们先来看张图: 进程好比图中的工厂,有单独的专属自己的工厂资源…
面试题:你能写一个Vue的双向数据绑定吗?
Vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过Object对象的defineProperty属性,重写data的set和get函数来实现的,这里对原理不做过多描述,主要还是来实现一个实例。为了使代码更加的清晰,这里只会实现最基本的内容,主要实现v-model,v-…
[译] React遇到V8引擎性能瓶颈的故事
本文介绍了V8如何为各种JavaScript值选择最佳的内存表示形式,这些都有助于解释React核心中最近的V8性能陷阱。 每个JavaScript的值(目前)有八种不同类型之一:Number,String,Symbol,BigInt,Boolean,Undefined,Nul…
webpack打包原理 ? 看完这篇你就懂了 !
[实践系列] 主要是让我们通过实践去加深对一些原理的理解。 [实践系列]你能手写一个 Promise 吗?Yes I promise。 有兴趣的同学可以关注 [实践系列] 。 求 star 求 follow~ 入口起点(entry point)指示 webpack 应该使用哪个…
JSBridge的原理
关于 JSBridge,绝大多数同学最早遇到的是微信的 WeiXinJSBridge(现在被封装成 JSSDK),各种 Web 页面可以通过 Bridge 调用微信提供的一些原生功能,为用户提供相关的功能。其实,JSBridge 很早就出现在软件开发中,在一些桌面软件中很早就运…