自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 手搭react实现核心功能

首先回顾react的功能 1:虚拟dom,diff算法; 2:组件化,分为函数组件与类组件 3:类中有setState函数中有Hooks 4:生命周期 5:state的异步更新首先最基本使用import React from './react';import ReactDOM from './react-dom';class Home extends React.Component { rende...

2021-08-28 10:53:09 144

原创 promise实现

首先知道一些概念同步回调:立即执行,完全执行完了才结束,不会放入任务对列异步回调:不会立即执行,会放入队列中将来执行//同步回调函数let arr = [1,2,3,4];arr.forEach(item=>{//同步函数不会放入对列,一上来就执行 console.log(item);})console.log("forEach之后执行");//异步回调函数setTimeout(()=>{//异步函数放入队列 console.log("setTimeout");

2021-08-27 23:19:20 84

原创 对象属性的代理

//对一个不定层级的嵌套对象进行代理 let obj = { username: "zs", age: 18, count: { math: 90 } } //封装函数对obj的属性进行属性代理 let myProxy = (obj) => { let keyArr = Object.keys(obj)//拿到键名 for (let i = 0; i < keyAr...

2021-08-26 20:41:05 118

原创 redux模拟实现

//发布订阅模式 //也称作观察者模式,定义了对象间的一对多的依赖关系, //当一个对象的状态发 生改变时,所有依赖于它的对象都将得到通知 //createStor dispatch subscribe class MyRedux{ constructor(){ this.container = [] } getState(...

2021-08-26 20:17:30 86

原创 vue的模拟

仅供自己学习使用1:vue都会有一个初始的模板 <div id="container"> {{count.math}}{{username}} <div v-html="htmlStr"> </div> <input type="text" v-model="classes" /> <button v-on:click="handleClick">改名&

2021-08-26 11:00:26 164 1

原创 js任务对列

1:js是单线程,有一个主线程,与队列;2:同步代码放入主线程中,异步代码放入对列中,先执行主线程代码,然后执行任务对列3:任务对列分为宏任务与微任务,微任务优先级高于宏任务4:定时器模块,执行完定时器后放入宏任务,等待主线程执行,主线程执行的时候,定时器模块就已经开始计时了;5:如果有多个定时器,后面的定时器秒数快于前面的,后面的定时器就会优先与前面的定时器;dom渲染1:dom渲染是宏任务,如果dom之前有script等标签,只有等script执行完之后再去执行dom...

2021-08-24 21:13:05 111

原创 es6链判断运算符

let obj = { a:{ c:{ d:'我是最里面的' }, e:'我是中间的' }, b:15, c:"是哪里" }; console.log(obj?.a?.c?.d);//我是最里面的 console.log(obj?.a?.f);//undefined我们判断对象一般都是访问属性判断是否有这个属性,没有返回undefined,有的话返回值,e...

2021-08-11 10:05:33 228

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除