- 博客(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
638
原创 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
269
原创 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
1149
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
528
原创 javascript原型和原型链
原型链 JavaScript 规定,所有对象都有自己的原型对象(prototype)。一方面,任何一个对象,都可以充当其他对象的原型;另一方面,由于原型对象也是对象,所以它也有自己的原型。因此,就会形成一个“原型链”(prototype chain):对象到原型,再到原型的原型…… 如果一层层地上溯,所有对象的原型最终都可以上溯到Object.prototype,即Object构造函数的pro...
2021-04-27 15:38:56
80
原创 js中基本类型和引用类型理解
一、基本类型有6种。普通基本类型:null、undefined、Symbol特殊基本类型:Object、boolean、number二、引用类型。Object、Array、RegExp、Date、Function。三、两者的区别:引用类型值可以添加属性和方法,而基本类型值不可以。(1)基本类型。基本类型的变量和值都是存放在栈内存(stack)里的。基本类型的值是按值访问的。基本类型的值是不可变的。基本类型的比较是他们的值的比较。(2)引用类型。引用类型的变量存在栈中,而值是存放在堆
2021-02-24 15:59:53
203
原创 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
409
2
原创 算法复杂度
算法复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。...
2020-11-16 10:13:03
145
原创 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
5216
3
原创 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
394
原创 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
724
原创 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
159
原创 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
524
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
515
原创 解决antd下拉框,日历等组件跟随滚动条滚动bug
Select组件有个API getPopupContainer,Ant Design官方文档给出的用途解释为:“菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位”。同时官网也强调一个特殊情况需要注意:“如果发现下拉菜单跟随页面滚动,或者需要在其他弹层中触发 Select,请尝试使用 getPopupContainer={triggerNode => triggerNode.parentNode} 将下拉弹层渲染节点固定在触发器的父元素中”。.
2020-10-27 11:20:36
3335
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
166
原创 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
587
原创 项目中使用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
417
原创 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
251
原创 高德地图常用方法封装
二次封装高德地图常用方法,便于开发/* 封装高德地图 常用方法*/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
1102
原创 高德地图通过中心点绘制矩形
通过中心点绘制矩形(高德地图为例)原理:通过高德地图提供的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
2022
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
8104
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
282
原创 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
3496
原创 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
2608
原创 前端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
3456
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
2309
原创 开发封装使用axios请求
import axios from 'axios'class Ajax { constructor() { this.config = { timeout: 10000, headers: {}, auth: {}, } this.codeMessage = { 200: "服务器成功返回请求的数据。", 201: "新建或修改数据
2020-06-24 17:22:21
1906
原创 百度地图实现多点轨迹回放
复制急用<!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
2979
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
2029
原创 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
2279
原创 create-react-app打包后修改static命名(避免和服务器static文件命名重复导致访问资源404)
npm run eject 后, 在config文件夹下的webpack.config.js查找 static,批量assets(替换想要输出的命名即可)
2020-05-09 13:06:58
3510
原创 webpack4.x多页面配置
https://gitee.com/zp_1806/webback4_building_web_sitehttps://gitee.com/zp_1806/webpack4_init拿走不谢!
2020-04-24 21:27:19
1909
原创 js 表格下载
/* 下载表格*/export const downloadFile = (url, fileName = '表格.xlsx') => { axios({ url: url, headers: { // Authorization: getToken(), }, responseType: 'blob', }).then(res ...
2020-04-16 17:34:12
2100
原创 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
2132
原创 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
1943
原创 JavaScript对url编码解码
只有 0-9[a-Z] $ - _ . + ! * ’ ( ) , 以及某些保留字,才能不经过编码直接用于 URL。**比如:**搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码。1、escape 和 unescape原理:对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。编码:escape(‘http://www.baidu...
2020-04-11 15:20:06
2671
原创 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
2021
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人