原生事件代理实现

发表于 JS 分类,标签:
版本信息作者时间主要变更内容链接吴惟刚2022/02/25事件代理http://wuweigang.com/?id=365概述事件代理对前端来说非常常见,尤其是jquery时代,我们为了提升性能,我们会尽量减少给每个元素绑定事件,而是给需要绑定事件的元素的父级绑定事件。原理将事件绑定在父级元素上,通过判断event.target对象,判断当前点击的元素是否是目标元素或者是目标元素的后代元素,决定是否触发事件回调函数。示例分三段,html,css,js,大家可以复制代码进行浏览器中测试。operateProxyEvent()函数,大家可以参考html123456789101112131415161718192021222324252627282930313233343536<!DOCTYPEhtml><htmllang="en"><...

经验谈-排查问题思路

发表于 问题记录 分类,标签:
各行各业,在工作过程中都会遇到问题,那解决问题的思路极其重要,以下以程序员为例(万事万物原理相通)方法:一、复杂事情简单化。我们遇到的问题基本都是在各种复杂的场景中,当我们在该场景里去查问题是十分困难的,可能依赖东西非常多,依赖组件,依赖后端,依赖中间件等等,所以面对这类事务,我们最好的方法是脱离原来的环境,将复杂的事情简单化。示例:当某个技术点在项目中出现错误,请把该技术点,拿出来,写个简单demo,模拟项目中的场景,保证demo流程是通的,如果简单demo都是错的,你在项目中实验万遍依旧是错的,浪费时间和精力,且得不到任何成效,当抽离到项目之外,东西变得极其简单后,你可能一眼就能问题所在二、程序执行流程,请将复杂的事情划分成多个阶段,且为各阶段标记好执行顺序。我们项目中遇到的问题总是非常复杂的,但是问题复杂是在于前面没规划好,如果我们将复杂事情划分多个小的事情,且标记好各...

es6 async await 常规使用

发表于 JS 分类,标签:
版本信息作者时间主要变更内容链接吴惟刚2022/02/21asyncawaithttp://wuweigang.com/?id=363概述说一下async,await函数的简单应用,用最简单的示例,让复杂的事变得更简单。记住以下知识,项目中基本够用示例以下示例,大家可以直接复制粘贴到浏览器的console面板测试,方便大家理解。示例1-最简单的async函数1234567891011//async关键词,创建的函数就是异步函数asyncfunctionasyncFn(){  console.log('2')  return 4;}console.log('1');asyncFn().then((data)=>{   con...

解决cmd命令行乱码

发表于 问题记录 分类,标签:
版本信息作者时间主要变更内容链接吴惟刚2022/02/18cmd命令行乱码http://wuweigang.com/?id=362概述项目采用cnpmi 安装依赖,cmd面板出现乱码问题原因cmd命令行显示中文乱码,大多是由cmd窗口的字符编码不匹配导致解决方案1、打开cmd,在命令行输入chcp12F:\vcc-component-wuwg\server\upload>chcp活动代码页:936936代表的意思就是GBK(汉字内码扩展规范),通常情况下GBK也是cmd的默认编码。2、修改当前编码,打开cmd窗口,在命令行输入“chcp65001”。12F:\vcc-component-wuwg\server\upload>chcp 65001Activecodepage:6500165001代表编码格式为utf-8再次测试:再输...

关于处理跨域请求中的options请求验证,使用node服务测试

发表于 node 分类,标签:
版本信息作者时间主要变更内容链接吴惟刚2022/02/15options请求的原有http://wuweigang.com/?id=361概述目前跨域的处理方式主要是nginx反向代理,但是也存在直接后端允许跨域的情况,这样就不需要额外增加一个nginx代理层了,但是后端服务器允许了跨域,我们还是会遇到一些特殊的情况,那就是部分请求会提前发送options请求做验证,然后options请求未通过,就导致请求不到数据,下面我们分析下options请求的具体原因和解决方案。HTTP的请求方法首先我们了解一下,http请求方式到底有多少种序号请求方式请求描述1【GET】获取数据(最常用)2【POST】新增数据(最常用)3【PUT】更新数据(最常用)4【DELETE】删除数据(最常用)5【PATCH】方法是对PUT/POST方法的补充,用于对资源进行部分的修改,是非幂等的。6【...

node服务踩坑

发表于 node 分类,标签:
一、 多个同类key使用setHeader()方法,将会产生覆盖,只有最后一个生效,请大家小心!以上设置,将只保留最后一个X-Custom-Header2 ...

科学翻墙

发表于 other 分类,标签:
https://w1.v2free.net/ ...

ifarme跨域

发表于 问题记录 分类,标签:
https://blog.whsir.com/post-3919.html  ...

前端性能最佳实践 【1】

发表于 JS 分类,标签:
 针对新开的页签,尽量不要用window.open打开,这里存在window对象的引用,新开的页面让原父页面内存会增加,且不会销毁,打开次数越多,那么其内存占用越高。示例:父页面为一个数据列表,点击列表打开该列表的详情,打开详情后关闭,持续100次首次打开页面,默认内存占用情况:执行100次打开详情,再关闭详情,的内存占用。...

生成mock tree数据的方法

发表于 JS 分类,标签:
functionmockTreeData(count,min=5,max=50){//父idletpId=-1,//当前层级level=0,//当前层级的节点数curLevel=[],//当前层级的父级层级prevLevel=[],//每层级的数量levelCount,//总节点变量i=0,j,l,//父节点所在层级的数据长度prevLevelLen;//总节点数constnodes=[];/...