自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js实现日历效果

<!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" /> <titl

2022-03-04 17:30:03 462

原创 git reset

reset三种模式区别和使用场景区别:hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。–soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目

2021-11-03 10:30:32 190

原创 ReactDom.unstable_batchedupdates(React处理批量更新)

React中不稳定的批量更新处理import React, { useState } from 'react';import { unstable_batchedupdates } from 'react-dom';export default function Demo() { const [name, setName] = useState(''); const [age, setAge] = useState(12); useEffect(() => { unstable_.

2021-09-28 11:00:51 1002 1

原创 取消fetch请求

原理:结合AbortController构造器,实现请求取消操作。const abortController = new AbortController();const { signal } = abortController;fetch('http://localhost:8999/api/list', { signal }) .then(res => res.json()).then(res => { // 正常业务操作 }).catch(e => { i

2021-09-22 14:18:35 437

原创 javascript原型和原型链

原型链 JavaScript 规定,所有对象都有自己的原型对象(prototype)。一方面,任何一个对象,都可以充当其他对象的原型;另一方面,由于原型对象也是对象,所以它也有自己的原型。因此,就会形成一个“原型链”(prototype chain):对象到原型,再到原型的原型…… 如果一层层地上溯,所有对象的原型最终都可以上溯到Object.prototype,即Object构造函数的pro...

2021-04-27 15:38:56 45

原创 js中基本类型和引用类型理解

一、基本类型有6种。普通基本类型:null、undefined、Symbol特殊基本类型:Object、boolean、number二、引用类型。Object、Array、RegExp、Date、Function。三、两者的区别:引用类型值可以添加属性和方法,而基本类型值不可以。(1)基本类型。基本类型的变量和值都是存放在栈内存(stack)里的。基本类型的值是按值访问的。基本类型的值是不可变的。基本类型的比较是他们的值的比较。(2)引用类型。引用类型的变量存在栈中,而值是存放在堆

2021-02-24 15:59:53 168

原创 font-spider压缩web font字体

1、下载font-spider基于node环境,必须先安装node。若未安装,自行去node官网下载安装。npm i font-spider -g2、项目目录projectfont-gzip.htmlfontPingFangSC-Regular.ttf PingFangSC-Semibold.ttfPingFangSC-Medium.ttfDINPro-Medium.ttfHelveticaNeue.ttfhtml代码:<!DOCTYPE html><

2020-11-18 09:58:22 371 2

原创 算法复杂度

算法复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。...

2020-11-16 10:13:03 114

原创 antd(3.x) table 数据量大时,批量全选卡顿

问题:antd(3.x) table 数据量大时,批量全选卡顿。解决方案:使用react-window的VariableSizeGrid组件结合antd table的Api(components.body.wrapper),将tbody以虚拟列表的方案渲染。注意:需要结合rc-resize-observer监听宽度变化来处理宽度变化业务。import { VariableSizeGrid as Grid } from "react-window";import ResizeObserver f

2020-11-13 10:13:49 4749 3

原创 umi.js打包配置优化

umi打包优化

2020-11-11 16:51:43 6219

原创 prop-Types验证

import React from "react";import PropTypes from "prop-types";class MyComponent extends React.Component { render() { // 利用属性做更多得事 }}MyComponent.propTypes = { // 你可以定义一个属性是特定的JS类型(Array,Boolean,Function,Number,Object,String,Symbol)。默认情况下,这些都是

2020-11-11 11:55:02 345

原创 Android SDK Manage安装下载

一、下载安装首先打开http://www.androiddevtools.cn/,我们可以看到这里面有Android开发所需的各种工具,首先找到SDK Tools,下载最新版。安装完成之后。二、配置代理这种时候,我们可以通过有Android SDK的国内镜像服务器来下载安装,这里推荐几个:1、中科院开源协会镜像站地址:IPV4/IPV6 : http://mirrors.opencas.ac.cn 端口:802、北京化工大学镜像服务器地址:IPv4: http://ubuntu.buc

2020-11-09 16:39:54 647

原创 flutter环境搭建

一、flutterSDK安装首先配置用户变量:PUB_HOSTED_URL=https://pub.flutter-io.cnFLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn下载SDK在D盘根目录打开gis bashgit clone https://github.com/flutter/flutter.git配置环境变量在系统变量中PATH中新增:D:\flutter\bin环境检测flutter doctor

2020-11-03 10:51:12 117

原创 vscode集成cmder

ctrl+shift+p,输入Open Settings搜索,点击打开。复制以下代码,替换内容。D:\Cmder是我的cmder安装目录,按照你自己的cmder安装目录替换即可。{ ..., "terminal.integrated.shell.windows": "cmd.exe", "terminal.integrated.env.windows": { "CMDER_ROOT": "D:\\Cmder" }, "terminal.integrated.shellAr.

2020-10-29 11:32:45 446 1

原创 分享vscode 配置文件

{ "files.associations": { "*.js": "javascriptreact" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "eslint.format.enable": true, "eslint.alwaysShowStatus": true, "eslint.validate": [ "javascript",

2020-10-28 17:53:54 432

原创 解决antd下拉框,日历等组件跟随滚动条滚动bug

Select组件有个API getPopupContainer,Ant Design官方文档给出的用途解释为:“菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位”。同时官网也强调一个特殊情况需要注意:“如果发现下拉菜单跟随页面滚动,或者需要在其他弹层中触发 Select,请尝试使用 getPopupContainer={triggerNode => triggerNode.parentNode} 将下拉弹层渲染节点固定在触发器的父元素中”。.

2020-10-27 11:20:36 3189 1

原创 window安装Mysql(附加Navicat)

一、下载点击下载Mysql等待下载完成,开始安装…二、安装点击查看详细安装傻瓜式安装三、配置环境变量添加系统变量MYSQL_HOME = C:\Program Files\MySQL\MySQL Server 8.0编辑path%MYSQL_HOME%\bin四、Navicat下载点击下载https://pan.baidu.com/s/1L_Vt5YnEVaHSV9T3TnGpVA提取码:jt2n...

2020-09-25 10:37:56 131

原创 navicat连接mysql 2058错误。

一、首先运行cmd 登入mysqlmysql -u root -p输入密码进入mysql二、运行以下三行代码即可。1、修改密码规则ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘您的密码’ PASSWORD EXPIRE NEVER;2、修改密码ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘您的密码’;3、更新FLUSH PRIVILEGES;

2020-09-24 15:57:28 506

原创 项目中使用pre-commit代码检查

1、安装husky和lint-stagednpm i husky lint-staged --save–dev2、修改package.json{ ..., "husky": { "hooks": { "pre-commit": "npm run lint-staged" } }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "eslint --fix", "git add" ]

2020-09-18 16:34:59 349

原创 java jdk环境变量配置(window10)

一、下载安装jdk点击下载jdk(8版本为例,下载可能需要oracle登录,注册登录即可)下载完成之后,傻瓜式安装即可。二、环境变量配置1、唤出环境变量窗口,配置JAVA_HOME。配置JAVA_HOME = C:\Program Files\Java\jdk1.8.0_261路径根据jdk安装路径自行修改。2、配置path点击path,编辑,新增 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin3、配置classpath配置classpath =

2020-09-16 10:22:33 215

原创 高德地图常用方法封装

二次封装高德地图常用方法,便于开发/* 封装高德地图 常用方法*/const { AMap } = window;/* 初始化地图*/export const mapInit = (domId, options = {}) => { return new Promise((resolve, reject) => { const map = new AMap.Map(domId, { resizeEnable: true, ...optio

2020-09-15 13:19:40 1020

原创 高德地图通过中心点绘制矩形

通过中心点绘制矩形(高德地图为例)原理:通过高德地图提供的API,LngLat的offset方法实现。// 简单实现绘制正方形,side 正方形边长,单位米// 若需要绘制其他矩形,需自行修改代码function centerPointGetFourPoint = ({ lat, lng }, side = 1000) => { const centerPoint = new AMap.LngLat(lng, lat); const upLeftPoint = centerPoint.

2020-09-15 13:18:00 1740 3

原创 scratch3.0无法连接wedo2.0

问题导致的原因:websocket连接地址是wss://device-manager.scratch.mit.edu:20110/scratch/ble解决方案:修改源码中websocket连接地址,将之改成wss://127.0.0.1:20110/scratch/ble即可;1、源码位置在vscode中全局搜索 wss://device-manager.scratch.mit.edu:20110/scratch/ble,如图:注意:vscode默认全局搜索不会搜索node_modules文件

2020-08-17 12:50:39 7271 1

原创 前端开发 节流和防抖

1、防抖常见案例:用户搜索框连续输入时,当用户停止输入后获取查询结果。 // 防抖 function debounce(fn, delay=500) { let timer = null; return function(){ if (timer){ clearTimeout(timer) } timer = setTimeout(() => { fn.apply(this, arguments); timer = null;

2020-08-07 16:43:50 238

原创 js执行本地exe程序

1、ie浏览器try { let objShell=new ActiveXObject("WScript.Shell"); objShell.Run("D:\\model\\test.exe");} catch (error) { console.log(error)}2、兼容其他浏览器(推荐)写入注册表新建read.reg文件,编写如下代码。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\myprotocol]

2020-08-05 10:48:34 3345

原创 js 添加自定义监听器

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>自定义监听器</title></head><body> <div>

2020-07-31 09:58:47 2563

原创 前端js Aes对本地存储数据进行加密解密

1、npm install crypto-js2、编写LocalStorage类const CryptoJS = require('crypto-js');class LocalStorage { constructor() { this.autoEncrypt = true this.aseKey = '12345678' } setItem(key, value) { var v = value if (th

2020-07-07 17:21:22 3331 1

原创 ES6语法编写常用工具utils类

1、创建Config类,用户存储一些全局变量class Config { constructor() { this.BASE_URL = 'http://www.baidu.com' this.IMAGE_URL = 'http://www.cdn.baidu.com' this.SITE_PREFIX = 'ZP_' this.AJAX_CONFIG = { timeout: 10000,

2020-06-28 10:44:46 2231

原创 开发封装使用axios请求

import axios from 'axios'class Ajax { constructor() { this.config = { timeout: 10000, headers: {}, auth: {}, } this.codeMessage = { 200: "服务器成功返回请求的数据。", 201: "新建或修改数据

2020-06-24 17:22:21 1876

转载 js跨域请求

https://www.cnblogs.com/czkolve/p/10822230.html

2020-05-22 08:38:24 1789

原创 百度地图实现多点轨迹回放

复制急用<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>百度地图api</title> <style> * {

2020-05-19 22:20:57 2906 5

原创 react.js中模拟事件总线

1、bus.jsimport { EventEmitter } from 'events';export default new EventEmitter();2、组件Aimport React from 'react'import bus from '../bus' //引入中间量bus,注册事件,被控组件class A extends React.Component{ constructor(props){ super(props) this.state=

2020-05-15 09:09:26 1939

原创 create-react-app 引入antd-mobile,配置vw

1、配置vwcreate-react-app创建工程create-react-app mypronpm run eject安装依赖npm install postcss-aspect-ratio-mini postcss-px-to-viewport-opt postcss-write-svg postcss-preset-env postcss-viewport-units cssnano -S安装成功后,配置webpack.config.jsconst postcssAspectRa

2020-05-09 18:30:36 2189

原创 create-react-app打包后修改static命名(避免和服务器static文件命名重复导致访问资源404)

npm run eject 后, 在config文件夹下的webpack.config.js查找 static,批量assets(替换想要输出的命名即可)

2020-05-09 13:06:58 3397

原创 webpack4.x多页面配置

https://gitee.com/zp_1806/webback4_building_web_sitehttps://gitee.com/zp_1806/webpack4_init拿走不谢!

2020-04-24 21:27:19 1876

原创 js 表格下载

/* 下载表格*/export const downloadFile = (url, fileName = '表格.xlsx') => { axios({ url: url, headers: { // Authorization: getToken(), }, responseType: 'blob', }).then(res ...

2020-04-16 17:34:12 2044

原创 TypeError: this.getResolve is not a function

1、TypeError: this.getResolve is not a function报错;sass-loader版本为8.0以上;版本过高导致;将sass-loader版本换至7.3.1

2020-04-16 08:40:51 2079

原创 chrome安装react-devtools

1、本地打开git bash在git中输入:git clone https://github.com/facebook/react-devtools.git若超时,换国内地址git clone https://gitee.com/mirrors/react-devtools.git2、克隆完成后在根目录运行npm install3、安装依赖完成以后切换目录到 shells/chrom...

2020-04-14 16:13:19 1913

原创 JavaScript对url编码解码

只有 0-9[a-Z] $ - _ . + ! * ’ ( ) , 以及某些保留字,才能不经过编码直接用于 URL。**比如:**搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码。1、escape 和 unescape原理:对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。编码:escape(‘http://www.baidu...

2020-04-11 15:20:06 2606

原创 Windows安装MySQL(8.0)

1、下载MySQL前往下载页面下载2、下载完成后将压缩包解压到指定目录,本文解压目录至C盘根目录,如图:3、接下来我们需要配置下 MySQL 的配置文件;创建my.ini文件,写入如下代码;[client]default-character-set=utf8[mysqld]port = 3306basedir=C:\mysql-8.0.19-winx64max_con...

2020-04-04 20:46:00 1968

空空如也

空空如也

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

TA关注的人

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