- 博客(67)
- 收藏
- 关注

原创 vue 面试题
VUE1.vue的生命周期beforeCreate>created>beforeMount>mounted>beforeUpdate>updated>beforeDestroy>destroyedbeforeCreate:data和methods中的数据还没有初始化created: 在created中,data和methods都已经初始化好beforeMount: 此时模板已经在内存中编辑完成了,但尚未把模板渲染到页面中mounted: 表示内存中的模板
2021-06-04 17:02:58
163
原创 nodejs之path
4.path.basename 获取路径的基础名称。1.path.resolve 拼接规范的绝对路径。2.path.sep 获取操作系统的路径分隔符。5.path.dirname 获取路径的目录名。6.path.extname 获取路径的扩展名。3.path.parse 解析路径并返回对象。
2023-05-29 15:46:35
190
原创 node.js之Buffer
Bufer 是一个类似于数组的 对象,用于表示固定长度的字节序列。Buffer 本质是一段内存空间,专门用来处理 二进制数据。2,Bufer 性能较好,可以直接对计算机内存进行操作。3,每个元素的大小为 1字节 (byte)1,Buffer 大小固定且无法调整。
2023-05-24 20:25:53
248
原创 js获取近三个月时间
//获取近三个月时间 static getThreeDays = (now) => { var year = now.getFullYear(); var month = now.getMonth() + 1;//0-11表示1-12月 var day = now.getDate(); var dateObj = {}; if (parseInt(month) < 10) { mon.
2023-05-23 20:57:57
1093
原创 性能优化 面试
(2)缩小文件大小(资源压缩/uglify-js进行js文件的压缩)b.建立连接(TCP三次握手)每一次都是试探,不携带任何正式数据。(1)减少http请求(精灵图,雪碧图,css与js内联与合并)第一次访问之后,会将域名解析的映射缓存到本地(浏览器缓存)(1)避免全局变量,有的话手动回收(obj=null)a.解析url,拿到ip地址(DNS域名系统)3.内存占用(内存占用过大,浏览器崩掉等)4.电量消耗(游戏方面,暂不考虑)e.断开连接(TCP四次挥手)(2)少用闭包,手动回收。key=123:参数。
2023-05-23 17:33:25
696
原创 react 面试题
react16.4后使用了新的生命周期,使用getDerivedStateFromProps代替了旧的componentWillReceiveProps及componentWillMount。使用getSnapshotBeforeUpdate代替了旧的componentWillUpdate。初始化阶段:constructor()、getDerivedStateFromProps()、render()、componentDidMount()
2023-05-22 10:49:52
104
原创 map遍历数组返回一个promise
在使用map遍历数据进行赋值时,这个值需要请求接口时拿到,单纯使用map遍历时,查询接口是一个异步操作,最后返回一个promise;所以需要等到执行完异步操作才进行赋值,使用promise.all解决。
2023-04-28 09:36:20
605
原创 Java入门day02之变量
1.变量按照数据类型分:基本数据类型:整形:byte、short、int、long 声明long类型必须以L或者l结尾;类型占用存储空间表述范围byte1字节=8bit位-128~127short2字节-215 ~ 215-1int4字节-231 ~ 231-1(约21亿)long8字节-263 ~ 263-1浮点型:float、double;float:单精度,尾数可以精确到7位有效数字,精度很难满足需求。double:双精度,精度是
2022-02-14 14:52:49
184
原创 Java入门day01之输出hello world
1.使用记事本新建helloword.javaclass HelloChina { public static void main(String[] args){ System.out.println("Hello World"); }}2.在命令提示符中,进入文件所在的文件夹中javac helloword.java //此命令会生成一个以class为后缀的文件java HelloChina //HelloChina生成的.class文件...
2022-02-10 17:02:30
422
原创 vue3+antd-design-vue语言国际化配置
1.安装antd-design-vue 时使用npm i --save ant-design-vue@next命令,(文末会贴出相关框架版本);2.语言国际化配置分为两种,第一种是我们自定义组件使用到的文字,第二种是ui框架自带的文字。思路:自定义文字可动态匹配,ui框架上的可采用它自带的国际化配置文件结构新建语言包文件:zh_CN.ts// 中文翻译export default { title: "国际化语言配置", btn: "按钮", add: "添加", del:
2022-02-09 21:25:48
4174
原创 tweenjs+threejs 多个动画依次执行
1.使用场景:当小车自动驾驶时,会由多条路线依次驶过,而tweenjs动画是链式函数执行let myTwen = new TWEEN.Tween(position); //position格式 :{x:x,y:y} myTwen.to( { x: geometryGroup[1][0], y: geometryGroup[1][1], }, 7000 ) .onUpdate((pos) => {
2022-01-20 17:05:31
1958
2
原创 屏幕坐标转换成threejs的坐标
使用场景:当我们点击屏幕时获取的坐标和three的坐标不一样时,这时候就需要转换。 const convertCoodsToThree = (mouseX, mouseY, mouseZ = 0) => { const x = (mouseX / window.innerWidth) * 2 - 1; const y = -(mouseY / window.innerHeight) * 2 + 1; var vec = new THREE.Vector3(); va
2022-01-19 20:15:37
1364
原创 nodejs介绍
1.什么是nodejs?nodejs从编程语言看,他的前身就是jsavaScript语言。也可以看作是后端语言,他扩展了JavaScript这门编程语言的能力,所以更倾向于看作是一个开源和跨平台的 JavaScript 运行时环境。2.特性(优点)1)、Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 的性能非常好。2)、Node.js 应用程序在单个进程中运行,无需为每个请求创建新的线程。 Node.js 在其标准库
2022-01-06 20:53:32
1041
原创 数字转大写(monery)
//数字转大写(monery) static numToCny = (money) => { // 汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); // 基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); // 对应整数部分扩.
2022-01-06 20:45:05
719
原创 Mapbox icon-image表达式
1.case 'icon-image': [ 'case', ['==', ['get', 'status'], 3], 'imageIcon1', ['all', ['==', ['get', 'status'], 2], ['==', ['get', 'statusA'], 1]], 'imageIcon2', ['all', ['==
2022-01-06 20:43:07
2213
1
原创 SWR的使用教程
SWR用于数据请求的 React Hooks 库,使用 SWR,组件将会不断地、自动获得最新数据流。UI 也会一直保持快速响应。安装yarn add swr 或者 npm install swr使用const { data, error, isValidating, mutate } = useSWR(key, fetcher, options)1.封装useFetch指令export function useFetch<Data = any, Error = any>(u.
2021-11-22 21:18:02
1340
原创 mapbox两个图层重合,点击事件都触发问题
使用场景:地图增加了两个layer并且重合,点击重合部分,layer的点击事件都会触发解决方法:1.梳理出两个图层的层级顺序,点击上面一层不触发下面一层的点击事件可以使用e.preventDefault();在下面图层判断e.defaultPrevented。在复杂一点,点击上面不触发下层,点击下层不触发上层事件,可以结合 queryRenderedFeatures判断map.on("click", (e) => { var features = map.queryRende
2021-11-22 21:16:05
2614
原创 react 在中文输入时触发input的改变事件
背景:input框在输入中文出现拼音的过程中,会一直触发onchange事件解决方法:input标签自带输入开始(onCompositionstart)与输入完成(onCompositionEnd)两个事件;
2021-09-22 16:39:05
1617
原创 JS 数组差集、交集、并集
let arr1 = [{id}];let arr2 = [{fpcid: “2da37fdfe66140089dc3367b21cc6194”, fpcNameCode: “34”},{fpcid: “2da37fdfe66140089dc3367b21cc6195”, fpcNameCode: “33”}];let arr3 = arr2.filter(v => {return arr1.every(e => e.fpcid != v.fpcid);});...
2021-07-20 22:55:29
244
1
原创 Unexpected keys will be ignored.
emgcReport", “resources”, “disposalJudgment”, “earlyWarning”, “emgcStop”, “infoReception”, “assessTemplate”, “emgcDrill”, “record”, “fireTeam”, “firePlan”, “workForce”, “fireEngines”, “carFile”, “carMaintain”, “carStatus”, “actionSysState”, “interfacePlatf
2021-07-19 19:36:23
242
原创 canvas实现虚线带箭头效果
import { useEffect,Fragment } from “react”import “./index.css”const arr=[{id:1,name:“测试1”},{id:2,name:“测试2”},{id:3,name:“测试3”},{id:4,name:“测试4”},{id:5,name:“测试5”},]const MapCanvas =()=>{useEffect(()=>{arr.map((v,index)=>{if(
2021-07-14 20:12:55
1134
1
原创 react echarts中国地图的实现
安装echartsnpm install echarts --saveimport { useEffect } from "react"import * as echarts from 'echarts'; //全局引入 ,可按需引入import china from "../utils/china.json" import "./map.css";const Map=()=>{ var myChart ; useEffect(()=>{ l
2021-07-13 20:12:03
1299
1
原创 React Hooks useState useEffect
react hooks在16.8版本中推出,自推出后备受好评,因为他解决了旧版本上组件无法复用状态逻辑的问题
2021-07-12 20:52:58
305
原创 umijs中使用useDispatch
使用umi+dva时,使用useSelector useDispatch 替代connectimport {useDispatch} from 'umi';const Home=()=>{ const dispatch = useDispatch() const getData=()=>{ dispatch({ type:"home/get" }) } return ( <div&g
2021-07-11 21:38:03
2928
原创 React修改打包后的文件名称
1.新建.env.production文件2.修改.env.production文件代码BUILD_PATH=dist
2021-07-08 20:50:00
2390
2
原创 umijs引入link、router报错
import Link from “umi/link”umi/link in ./src/pages/index.tsxTo install it, you can run: npm install --save umi/linkimport {Link} from “umi”import router from ‘umi/router’;<button onClick={() => { router.goBack(); }}>go back</button>
2021-07-08 20:48:51
1508
原创 npm常见命令及 --save --save-dev -g的区别
npm 是 Node.js 标准的软件包管理器。–save 安装并添加条目到 package.json 文件的 dependencies。–save-dev 安装并添加条目到 package.json 文件的 devDependencies。区别主要是,devDependencies 通常是开发的工具(例如测试的库),而 dependencies 则是与生产环境中的应用程序相关。PS:运行时需要用到的包使用–save,否则使用–save-dev。常见命令:npm init //初始化项目,创
2021-07-07 21:17:46
329
原创 dva Reducers与Effects的使用介绍
介绍dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。定义modeldva 通过 model 的概念把一个领域的模型管理起来,包含同步更新 state 的 reducers,处理异步逻辑的 effects,订阅数据源的 subscriptions 。Reducers在 model 文件夹下新建products.js文件export defaul
2021-07-07 17:13:01
6102
原创 dva Please use `require(“history“).createHashHistory` instead of `require(“history/createHashHistory
1.警告信息:Please use require("history").createHashHistory instead of require("history/createHashHistory”)解决方法:找到文件node_modules=>dva=>lib=>index.js,找到require(“history”).createHashHistory,更改为:require(“history/createHashHistory”); 更改后需要重新启动项目2....
2021-07-07 15:25:24
479
原创 react网路网络接口是否请求依赖另一接口请求结果
在请求任何接口前,先请求token是否过期这个接口(接口名:isToken),后台返回false时,界面返回登录界面并不请求其他任何接口;在接口拦截器里面判断url如果不是isToken则请求token是否过期这个接口,然后写判断逻辑最后会出现token失效多次弹窗,可以存一个变量,在登录界面的生命周期函数中判断是否是因为token失效返回的界面,如果是则不做任何操作...
2021-07-05 21:03:47
444
原创 React+Hooks useMemo和useCallback的使用
在使用function的形式创建组件时,内部state就无法向class声明组件去通过shouldComponentUpdate进行判断值是否变化,这样就会出现较大的性能消耗,所以就有了useMemo和useCallback,(PS:useMemo返回缓存的变量,useCallback返回缓存的函数)1.useMemoimport React,{useMemo, useState} from 'react';export default function NumMemo() { const [
2021-07-05 20:54:23
173
原创 react fetch请求本地模拟接口报错(SyntaxError: Unexpected token < in JSON at position 0)
1.使用fetch时请求本地模拟json文件时拿不到数据解决方法:将json文件放在与index.html文件同级 fetch("./data.json",{method:"get"}).then(res => { return res.json() } ) .then( (result) => { console.log(res
2021-07-05 10:58:02
749
原创 react+hooks的定时器问题
1.使用场景:当页面需要实时获取当前时间时常常使用定时器来获取import { useEffect, useState } from "react";const Time =()=>{ const [date,setDate]=useState(""); useEffect(()=>{ let timer=setInterval(()=>{ setDate(new Date().getSeconds()); console.log("定时器开始了
2021-07-04 20:22:48
1621
原创 git问题汇总
解决 fatal: Not a git repository (or any of the parent directories): .git 问题在命令行 输入 git init 然后回车就好了
2021-07-01 20:23:15
603
原创 dva : 无法加载文件 xxxx\npm\dva.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅...
1.打开PowerShell,由管理员身份运行;2.输入get-ExecutionPolicy,获取到的值为Restricted;3.输入Set-ExecutionPolicy -Scope CurrentUser;4.出现ExecutionPolicy: ,填入RemoteSigned;5.是否更改策略设置,填入Y6.再次输入get-ExecutionPolicy,此时值为RemoteSigned;更改完成后,输入get-ExecutionPolic在PowerShell获取到的值Remote
2021-07-01 15:04:31
543
原创 React使用require时引入图片不显示
1.需求:React面临动态引入图片时,会使用到require,直接使用require时,图片不会显示<img src={require("地址")} alt="" /}2.解决方法 后面添加.default<img src={require("地址").default} alt="" /}如果图片是动态引入的,按照下面这种方式let imgAddress="././assets/img";<img src={require(imgAddress).default} alt
2021-07-01 13:45:55
1239
1
原创 实时获取地理位置及天气
var BMap = window.BMap;//取出window中的BMap对象var myCity = new BMap.LocalCity();let WeatherLists = {};myCity.get(function (result) { console.log(result.name); //城市名称 if (result.name) { /*通过当前位置城市信息获取天气*/ axios.get ('https://free-ap
2021-06-30 22:07:01
482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人