自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单封装Promise,Promise.all,Promise.race

简单封装Promise,Promise.all,Promise.race1.封装Promiseclass MyPromise { constructor(fn){ //在未调用resolve活着reject之前使用then this.resolvedCallbacks = []; this.rejectedCallbacks = []; this.state = 'PENDING';//等待状态 this.val

2021-03-15 21:37:46 218

原创 react仿网易云音乐项目实战

react仿网易云音乐项目实战一.涉及技术:react(类组件,hook(重点)都有使用),redux,css in js(styled-compons库),react-router(react-router-dom,react-router-config),redux-thunk(异步请求),craco(配置文件),少量使用antDesign库等等二.项目介绍:用react对网易云音乐的主要页面进行构造。三.项目地址:https://github.com/ZhiHong-w/wy-music-

2021-02-19 14:05:26 677

原创 javascript“常量”对象(深度冻结)

javascript“常量”对象(深度冻结)先看下面一段代码: const obj = { m: 2 } console.log(obj.m); //2 obj.m = 3; console.log(obj.m); //3我们发现虽然obj对象我们定义的是一个常量,但是仍然可以修改里面m的值,这是因为const保证的并不是obj的值不变,而是obj指向的内存地址不变,我们修改m的值的时候obj的内存地址并没

2020-12-23 15:18:55 623

原创 js中的深拷贝,浅拷贝和展开符(b={...a})

一.区别1. 深拷贝:增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存2. 浅拷贝:只是增加了一个指针指向已存在的内存地址例如: const a={ name: "wang", age:18 } const b = a; b.age = 20; console.log(a); // {name:"wang",age:20} console

2020-10-28 20:56:49 1099

原创 js中的null,undefined的区别

js中的null,undefined的区别1. null表示没有对象,即该处不应该有值典型用法:(1) 作为函数的参数,表示该函数的参数不是对象。(2) 作为对象原型链的终点。2.undefined表示缺少值,即此处应该有一个值,但是还没有定义典型用法:(1)变量被声明了,但没有赋值时,就等于undefined。(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。(3)对象没有赋值的属性,该属性的值为undefined。(4)函数没有返回值时,默认返回un

2020-10-22 16:26:55 147

原创 React中的diff算法

diff算法一.前言在React更新props或state时,会调用React中的render方法重新渲染一颗DOM树,React需要基于旧的DOM树和新的DOM树之间的差别来更新UI界面。如果一棵树参考另外一棵树进行完全比较更新,那么即使是最先进的算法,该算法的复杂程度为 O(n^3 ),其中 n 是树中元素的数量。如果在 React 中使用了该算法,那么展示 1000 个元素所需要执行的计算量将在十亿的量级范围。这个开销实在是太过高昂。React的渲染流程:React的更新过程:二.Di

2020-10-11 16:26:06 232

转载 react中的setState

setState的使用1.1. 为什么使用setState回到最早的案例,当点击一个 改变文本 的按钮时,修改界面显示的内容:案例的基础代码如下:import React, { Component } from 'react'export default class App extends Component { constructor(props) { super(props); this.state = { message: "Hello World"

2020-10-11 11:15:13 183

转载 JS中的this指向

this是JavaScript中的一个关键字,但是又一个相对比较特别的关键字,不像function、var、for、if这些关键字一样,可以很清楚的搞清楚它到底是如何使用的。this会在执行上下文中绑定一个对象,但是是根据什么条件绑定的呢?在不同的执行条件下会绑定不同的对象,这也是让人捉摸不定的地方。这一次,我们一起来彻底搞定this到底是如何绑定的吧!一. 理解this1.1. 为什么使用this在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是Ja

2020-10-11 09:42:51 79

原创 JS中的call()和apply()方法

JS中的call()和apply()方法一.概念每个函数都包含两个非继承而来的方法:call()方法和apply()方法。相同点:这两个方法的作用是一样的。都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以改变函数运行的作用域。一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。二.举例1.apply()方法 //例1 <script> window.numbe

2020-10-03 16:32:32 84

原创 声明式编程与命令式编程的区别

声明式编程与命令时编程的区别声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。举例:(实现求和操作)1.声明式编程:var numbers = [1,2,3,4,5]var total = numbers.reduce(function(sum, n) { return sum + n});console.log(total) //=> 1

2020-10-02 11:32:36 416

空空如也

空空如也

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

TA关注的人

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