自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一道八股文 var x = 1;function foo(x, y = function() {x=2}) { var x = 3; y();console.log(x);

这下理解了,在函数默认值里面做的操作在定义的时候就确定了,跟代码里面的代码无关。所以最开始的题目里的x=2在没赋值前是undefined,根本不是3,然后执行了x=2,但这个操作毫无卵用,根本影响不到function外面的x。后面我控制台debugger也没怎么看懂,但尝试改成这样的时候发现console.log(x)为undefined,继续问gpt,这次给出的答案终于让人看得懂了。这道题在面试中被考了一次,在控制台输出是3,1,最开始我问gpt,给出的答案看得莫名其妙,实在无法理解。

2024-07-17 21:49:51 154

原创 js脚本解决因挂VPN导致boss上高德地图无法正常规划公交路线问题

js脚本解决因挂VPN导致boss上高德地图无法正常规划公交路线问题

2024-04-14 16:07:22 733

原创 Linux服务器在宝塔已经安装了node的前提下手动运行node项目

这种情况可能就打算直接用ssh来安装了,但如果直接在ssh终端上输入npm install,会发现提示命令找不到,虽然你可以全局安装nodejs,但在已经有了宝塔安装的node版本,再重复在全局安装就显得多余重复,这时候有没有办法可以获取到已经安装过的nodejs呢。一句话概括:如果提示找不到npm node,你又确定我们确实安装了,这种情况其实就是系统不知道你把它安装到哪里了,这时候就需要我们主动告知系统去哪个目录,找哪个程序来执行。然后用export导出nodejs。

2024-03-24 02:03:25 386

原创 给boss直聘的搜索结果加上hr活跃状态,少看点半年活跃的岗位,有书签版,油猴版

使用js代码快速过滤掉boss直聘上面不在线的hr,代码简单易用,有手就行

2023-04-10 11:51:32 8536 18

原创 openlayer5添加的feature几个图形在地图上显示会有偏差发生

图形比实际经纬度向左偏移了一些,添加同样位置的overlay则不会偏差,后面不经意发现改变浏览器窗口大小会让其变正常,猜测是openlayer检测到窗口大小发生变化,自发进行了地图的重绘,第二遍渲染的地图就正常了,所以尝试思路就是手动触发地图重绘,于是在地图加载后便用一个定时器来触发openlayer的重绘功能setTimeout(()=>{ map.updateSize();},20...

2021-04-20 22:55:07 366

原创 离线网络安装node插件

先下载nodejs安装包,拷贝到内网,安装后,从有网络的本机把本机的插件文件拷贝过去,注意:插件是全局安装的时候,拷贝不能只拷贝只拷贝node_modules 还得拷贝node_modules的对应说明文件和cmdC:\Users\Administrator\AppData\Roaming\npm接管之前的端口地址browser-sync start --proxy “http://lo...

2021-04-20 22:54:05 451

原创 js一些工具方法

/** * 邮箱 * @param {*} s */export const isEmail = (s) => { return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)}/** * 手机号码 * @param {*} s */export const isMobile = (s) => { return /^1[0-9]{10}$/.test(s)}

2021-04-20 22:52:32 134

原创 内外网同时都可以访问

情况介绍:内网ip为192.168.204.xxx,网关是192.168.204.254,dns也是192.168.204.254,但访问内网的入口页面地址并不是192段,而是172.168.102.xxx/login.html,网上基本的内外网设置基本都是访问地址就是ip地址,但我的情况不同,访问地址和ip地址不一致。因为不了解路由网关这些东西,但搜索多了,也有些心得,既然人家都是这样写的教程,为什么我不行,然后我偶然想到我ip地址和访问的地址不是同一个ip,会不会是因为这个,所以按我理解去将所有17

2021-04-20 22:47:29 441

原创 巧妙的通过二维码在手机和电脑传递小量数据

有时候需要在电脑和手机之间传递一下数据,虽然可以通过登录电脑端微信或者QQ来传递,但毕竟手续繁琐了点。这个问题正好可以用手机的摄像头解决问题,毕竟网络上一切东西都是0和1,二维码也正好可以存放信息,虽然数据量不大,但毕竟有用。谷歌商店有个quick qr的插件就可以实现生成二维码另外一些保密要求比较严的公司可能会使用内网来保证数据安全,这时候微信,qq就不管用了,这时候离线版的二维码生成插件的作用就出来了。毕竟插件还是能通过下载插U盘方式拷贝安装的。还有就是云桌面(允许拷贝文件进入不允许拷贝出去),这种

2021-04-02 16:50:34 2144 1

原创 git拉取大型项目

项目代码量大的话,git clone可能会出现服务器内存溢出,处理不过来导致拉取失败,可以考虑只复制少数历史记录,不拷贝整个完整的代码仓库//100代表只拷贝最新的100次提交历史,这样历史记录文件会少很多,文件就不大了git clone --depth 100 仓库地址上面的代码执行了浅拷贝,会导致一个问题,就是使用git branch -a查看仓库所有分支时不能查看到所有分支,只能看到本地master,远程仓库master,远程仓库的分支文字会标红可以通过下面的命令来显示分支git remo

2020-11-25 09:46:44 1082

原创 精准判断js数据类型

Object.prototype.toString.call()可以判断出任何js数据类型,但返回的是一个带有object的字符串,例如"[object Number]","[object String]","[object Object]",这里面多出了一些我们不想要的字符,所以我们要删除它使用Object.prototype.toString.call(obj).slice(8,-1)就行。slice(8,-1)的意思是从第八个字符开始截取,就是从空格后面开始截取,截取到哪里?从后面开始数,第一个字

2020-05-25 10:45:34 227

原创 js将十六进制颜色转rgb以及加深减淡颜色值

十六进制颜色值转rgbJavaScript颜色转换的核心就是进制间的转换。RGB格式其实就是十进制表示法,所以,十六进制颜色与RGB颜色的转换就是十六进制与十进制之间的转换。十六进制转换为十进制相对容易些,核心代码如下示例:parseInt(“0xFF”),其结果就是255,”0x”就表明当前是16进制,由于parseInt后面无参数,默认就是转换为10进制了。十进制转换为16进制,核心代码...

2020-02-28 21:16:23 5392

原创 react 三目运算渲染dom的替代方案

{ Array.isArray(this.props.qjnyxnqk)?this.props.qjnyxnqk.map((item, i) => <li key={i}>xxxxxxxxxxx</li> ):null ...

2020-02-18 10:37:15 480

原创 快速拷贝控制台打印的对象或者其它变量

chrome控制台无法直接右键复制对象数据,有时候我们在代码里使用一个json数据或者开发初期因为后端还没有开发好接口,需要自己定义一个很长的数据,然后后续需求更改了,有些数据涉及到要批量修改或者进行数据加减乘除之类操作,作为一个程序员肯定不想一个一个手动来修改,总希望能用脚本自动修改,这时候在编辑器里面可没法输出我们转换后的数据,只能在chrome控制台里console出来,但是chrome的控...

2020-02-10 17:38:17 1463

原创 react使用immutable.js来优化性能

immutable是一个可以拿来比较对象的数值是否相等的插件,当然功能肯定不止这些,我这里只用到了对象对比,来优化性能,减少render次数。项目主要是靠dva或者父级组件传入的props来给子组件赋值的,state比较少用到,所以这里只比较了propsimport {Map, is,fromJS } from 'immutable';shouldComponentUpdate返回true代...

2020-01-19 15:52:30 353

原创 react如何实现刷新功能

通过一种取巧的方法来实现这个刷新功能。我通过切换月份触发一个全局的状态,告诉父级组件页面要刷新,这时候父级组件的一个方法就会被触发,其实就是***路由跳转***。我通过页面的props.history拿到当前页面的路由地址,然后在路由后面加上当前时间戳,让页面跳转到一个不存在的页面,同时还触发一个setTimeout的定时器,在跳转之后让其在很短的时间内跳回来,这样react自己就会在跳出页面后卸载掉页面。

2020-01-04 21:01:21 8334

原创 echart或者其它地图如何将地图数据geoJson进行旋转生成新geoJson

高德的地图选择器,可以下载全国各地省市的地图数据geoJson编辑器,可以对geoJson做编辑处理,这里主要是用了查看处理后数据的模样实现思路:网上的geoJson数据其实就是一个字段标准化的json数据,地图轮廓就是一个个经纬度坐标点,既然是数据,那就可以获取地图的中心点(就是所有数据的中心点,这个我是通过百度地图瓦片下载器软件来快速定位的,也可以经纬度查询,这个就只能手动定位,不够精准...

2019-12-11 09:43:48 7825 8

原创 react实现类似vue-cli脚手架的自动更换已被占用端口

不是通过react脚手架搭建的项目不能实现自动更换已被占用端口号,导致项目启动失败,但若是出现需要复制一份运行不同版本,手动修改又过于麻烦,更加可能出现的是某一次复制后,启动前忘记了修改端口,发现启动失败,找了一会错误,以为是node_module或者其它的问题,到最后才发现是端口被占用,白白浪费时间。(PS:react脚手架不需要该设置,它已经集成了检测端口是否被占用并提示更换端口的功能)#正...

2019-12-02 10:17:36 698 1

原创 新版chrome浏览器设置参数允许跨域

chrome新版的设置跨域,网上都是49版后,我现在的是79版,设置后生效。跟大众的教程有点差别,但也是在他们的基础上测试测出来的。(ps:虽然打开弹出了安全提示,说明成功了,但我的项目页面并没有成功获取到数据,不知是因为我接口问题还是这个设置还有问题)"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --args --d...

2019-11-15 16:23:07 1806

原创 react通过state的数据显示style多个样式(三目运算)

style={this.state.show?{background:"#e5effd",border:"1px solid #99C7F4"}:null}react的普遍写法一个{}代表里面是一个可执行的代码块,className只有一个{},而style之所以有两个{},是因为react里的style需要是一个对象,所以就多出了一个{}来包住样式属性,使其成为一个对象,所以当要实现多个行内...

2019-11-06 17:42:43 5715

原创 vue局部覆盖其它ui框架的默认样式

我这里的项目使用的ui框架是elementUI,所以这里使用它来做例子,其它ui框架同理,因为是针对vue和css的,所以框架不会产生影响。在vue的项目开发中,你若是设置了style的scoped属性,会发现针对ui框架的css重写无法生效,若是把style的scoped去掉,样式倒是可以重写,但这就把重写的样式提升为了全局样式,会影响到其它组件的样式,而你只想重写当前组件的样式。这时候就需要...

2019-08-19 11:24:06 3058 1

原创 汉字转拼音 关于佛字转成了fu

javascript将汉字转成拼音是通过将汉字先转为unicode编码的数据,再根据匹配列表来匹配对应的拼音,然后通过在线unicode转码工具将佛字转码可以得到unicode码**\u4f5b**然后网上流传最广的汉字转拼音的代码(如下)里面可以看到\u4f5b对应的拼音正好是fu,所以转换结果就自然变成了fu。`var PinYin = {“a”: “\u554a\u963f\u9515”...

2019-08-14 16:02:23 17555

原创 vue 滚动加载更多

vue 滚动加载更多通过对滚动条高度 浏览器高度 和文档高度的对比来判断执行请求数据接口&lt;template&gt; &lt;section class="outer_container"&gt; &lt;section class="siteIndex inner_container"&gt; &lt;section&gt; &lt;div v-for=&quo

2018-12-26 15:40:35 3420

原创 小程序转发链接打开异常(链接有中文)

小程序转发出去的链接参数里面有中文的话,点击打开页面异常,因为链接参数异常,导致接口获取数据异常,然后页面无法正常显示这是因为中文在转发的时候让http协议自动进行了url转码,转成了一串这种形式的字母%e8%bd%ac%e7%a0%81%e6%b5%8b%e8%af%95,然后小程序打开无法识别成中文导致了异常,所以我们可以手动将获取到的参数进行一次解码,变回正常的中文,在onLoad()里...

2018-11-12 17:27:12 1624

原创 vue使用keepAlive实现前进后退功能

**vue使用keepAlive实现前进后退功能**vue的keepAlive可以实现缓存组件的数据,避免后退时重新加载数据。(其实说白了,功能就是前进刷新,后退不刷新,还要保留之前浏览的位置)假设有ABC三个页面,对b页面按官网教程使用了keepAlive,c页面退回b页面,很好,没有重新请求数据,也返回了之前的浏览位置,但退回到A页面后,重新点击进入b页面,数据没有更新,还是原来的数据...

2018-10-23 14:06:44 5265

原创 微信video标签截图的坑

video标签截图网上的思路一般是使用canvas来获取视频当前帧的二进制数据,通过获取视频的本身的宽高以及canvas计划中的宽来确定canvas的高度(等比绘图),利用h5的drawImage将视频当前帧绘制到画布中,然后通过canvas的toDataURL()来将画布的画面转换为base64格式的图片,将值赋予img标签,当然也可以直接使用canvas的绘图作为效果来用。var vi...

2018-08-28 16:15:14 2009 1

空空如也

空空如也

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

TA关注的人

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