首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
原理
订阅
allen_hzz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
理清Vue响应式系统中的Watcher和Dep的关系
响应系统中的Watcher即这个系统的观察者,它是响应系统中观察者模式的载体,当响应系统中的数据发生改变的时候,它能够知道并且执行相应的函数以达到某种业务逻辑的目的。打个比方,如果你是一个商家,要寄一批货分别给不同的客户,那么watcher就是一个个快递员,发出的动作就是数据发…
Vue 源码解读(4)—— 异步更新
详细讲解了 Vue 异步更新的实现原理 以及从源码层次来回答一些和异步更新相关的面试题,比如 nextTick 的实现原理
入口文件开始,分析Vue源码实现
网上现有的Vue源码解析文章一搜一大批,但是为什么我还要去做这样的事情呢?因为觉得纸上得来终觉浅,绝知此事要躬行。 然后平时的项目也主要是Vue,在使用Vue的过程中,也对其一些约定产生了一些疑问,可能官网上只会建议你这么做,但是核心实现我们可能并不知道。比如: ... 其次,…
你真的了解回流和重绘吗
本文先从浏览器的渲染过程来从头到尾的讲解一下回流重绘,如果大家想直接看如何减少回流和重绘,优化性能,可以跳到后面。(这个渲染过程来自MDN) Display:将像素发送给GPU,展示在页面上。(这一步其实还有很多内容,比如会在GPU将多个合成层合并为同一个层,并展示在页面中。而…
canvas像素画板
最近项目上要实现一个类似像素风格的画板,可以像素小格子可以擦除,框选变色,可以擦出各种图形,这样一个小项目看似简单,包含的东西还真不少。 这样做看似完美,然而有一个巨大毙命,每画一个像素都回绘制到上下文中,每一次都在改变canvas的状态,这样做会导致渲染性能太差,因为像素点很…
Vue 源码解读(3)—— 响应式原理
详细讲解了 Vue 响应式的实现原理 以及从源码层次来回答一些和响应式相关的面试题 ........
Javascript数组查重和数组去重的N种办法(包含优缺点分析)
网上去重的办法很多,查重的办法不多,先实现一个利用indexOf实现查重的办法。 三、for嵌套循环,splice实现。这种办法的缺点是NaN无法去重 四、数组排序后,比较相邻2项,将重复的去除,缺点是只能针对数字去重,如果加入其它(比如字符串,布尔类型,对象类型,那么会把相同…
JavaScript核心之原型链
JavaScript中一切皆对象。 除了undefined之外所有的数据类型都是对象(引用类型)或者有其对应的包装类(原始类型)。 ... 所有对象都有其对应的构造函数,null除外。 可以理解为所有对象都是由函数产生的,都可以使用new关键字创建,函数也是一个对象,由Func…
🌞手写React,我悟了| 掘金年度征文
按找上面的渲染方式,当需要渲染的元素多的时候,在一帧(16.6ms)内无法渲染完毕就会造成浏览器的卡顿。 要想个办法优化,在React中,选择的是把一个大的任务才分成很多小的任务,在浏览器空闲的时候执行每个小的任务。这就是React的并发模式。 这个函数会在每次浏览器空闲的时候…
重排(reflow)和重绘(repaint)
之前面试的大佬问我关于重排重绘的原理和具体操作,一下子把我问蒙了。回家便默默地把问题记下来,仔细总结……在阅读了一些文章后,自己也有了一定的理解,所以分享给大家。希望大家也能耐心把这篇文章看完,认真思考,彻底掌握这个知识点! 5.将布局绘制(paint)在屏幕上,显示出整个页面…