自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的博客

希望你能找到你想要的

  • 博客(15)
  • 收藏
  • 关注

原创 Set使用方法

Set 是一个集合, 没有key, set集合内部的值是唯一的;Set 语法new Set(iterable) 创建set, 可以传入可迭代的对象,一般是数组set.add(value) 添加值到set中, 返回set本身set.delete(value) 删除值, 值存在返回true, 否则返回falseset.has(value) 判断value是否在set中,在返回true, 否则返回falseset.clear() 清空setset.size 返回集合个数,类似length​.

2022-02-25 22:14:41 1295 1

原创 Map的使用方法

MapMap是一个键值对形式的集合,类似object,区别是Map允许任何的键(key)Map语法new Map() 创建mapmap.set(key, value) 存储键值对map.get(key)根据key获取value,没有返回undefinedmap.has(key)key存在返回true, 没有返回falsemap.delete(key)根据key删除指定项map.clear()清空mapmap.size 返回长度const map = new Map();ma.

2022-02-25 22:00:16 5063

原创 处理一个数组,使其支持array[-1]的访问

const arr = [1,2,3,4,5]function proxy(arr) { return new Proxy(arr, { get(target, prop, receiver) { if (prop < 0) { console.log('len', Number(prop) + target.length) prop = +prop + target.length; } // 这里Reflect.get传

2022-02-24 16:24:59 411

原创 解决跨域问题

什么是跨域当协议,域名,端口任意一个与当前页面的url不同,即为跨域;![image.png](https://img-blog.csdnimg.cn/img_convert/957d8dc4cd4947fb14020cfeae9e76cb.png#clientId=u22a40100-a36b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=224&id=ub429b59a&margi.

2022-02-24 16:18:02 417

原创 Web Workers

js语言是单程,所有任务只能在一个线程完成,WebWorker为js创建多线程环境,允许主线程创建worker线程,将一些任务分配给worker线程运行,主线程和worker线程互不影响;主线程和worker线程通信<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="I.

2022-02-24 16:17:11 196

原创 for of for in 可枚举 不可枚举API 哪些可遍历Symbol

for…in用于遍历对象,除Symbol以外的可枚举属性,包括继承的可枚举属性var obj = { a:'1', b:'2'}Object.prototype.say = function(){}for (const key in obj) { if(obj.hasOwnProperty(key)){ console.log(key) // a b }}/* hasOwnProperty 返回布尔值,用来判定是否是当前对象自.

2022-02-24 16:16:33 195

原创 css三列布局

圣杯布局<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&

2022-02-24 16:14:01 195

原创 useEffect 原理

import React from "react";import ReactDOM from "react-dom";let state = []; // 为了可以储存多个值let setters = []; // 存储改变值的方法let stateIndex = 0; // 根据这个下标查找对应的值和改变值的方法function useState(initialState) { // 1. 因为useState可以调用多次,单独一个变量无法存储多个值,所以使用数组进行存储 ..

2021-10-21 20:08:26 1786

原创 useState原理源码

import React from "react";import ReactDOM from "react-dom";let state = []; // 为了可以储存多个值let setters = []; // 存储改变值的方法let stateIndex = 0; // 根据这个下标查找对应的值和改变值的方法function useState(initialState) { // 1. 因为useState可以调用多次,单独一个变量无法存储多个值,所以使用数组进行存储 ..

2021-10-20 21:30:32 360

原创 useRef 的使用

useRerf 的作用useRef 用来获取DOM元素对象保存数据useRerf 的使用方法import React, {useRef} from "react";function Ref (){ const box = useRef() return ( <div> <div ref={box}>useRef</div> <button onClick={()

2021-10-18 19:58:33 16043

原创 useCallbacl的使用

useCallbacl的作用useCallback用于性能优化, 缓存函数, 使组件重新渲染时得到相同的函数实例useCallback的使用方法import React, {useState, memo, useCallback} from "react";function CallBack (){ const [count, setCount] = useState(0) const resultCount = useCallback(() => setCount(0

2021-10-17 23:29:10 200

原创 memo 的使用

memo的作用?memo用于性能优化, 如果当前组件中的数据没有发生变化,那么memo方法就会阻止本次组件的更新,它的功能类似于pureComponent和shouldComponentUpdatememo的使用方法import React, {useState, memo} from "react";function My_Memo1 (){ const [count, setCount] = useState(0) return ( <div&gt

2021-10-17 23:05:37 1115

原创 useMemo的使用

useMemo 的使用方法useMemo的作用useMemo 类似于Vue的计算属性,监听某个值的变化,根据变化的值重新计算新值;useMemo会缓存结果,如果监听的值没有发生变化,即使组件重新渲染,也不会重新发生计算,这个行为有助于避免在每个渲染上进行昂贵的计算useMemo 的使用方法import React, {useMemo, useState} from "react";function Memo (){ const [count, setCount] = useSt

2021-10-17 22:48:28 2795

原创 useEffect使用方法

useEffect使用方法useEffect 替代了原来的类组件生命周期,有三种使用方式,我们可以针对不同的业务使用useEffect;import React, {useEffect, useState} from "react";import reactDom from "react-dom";function Effect (){ const [count, setCount] = useState(0) // 1. 第一种使用方法:componentDidMount, c

2021-10-17 18:45:06 1799

原创 useReducer 个人理解

useReducer 个人理解在开发中我们会遇到有些功能是由多个状态一起操作的, 例如:登录功能,简单来说登录有三种状态, 分别是 success, fail, pending,点击登录当前状态为pending,登陆成功将返回的值保存到success, 失败则提示fail;个人认为对于这种由多个状态去维护的功能使用 useReducer 方法比较合理import React,{useReducer} from 'react';import axios from 'axios';const

2021-10-16 20:08:14 198

空空如也

空空如也

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

TA关注的人

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