自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何优化代码中的多层if嵌套

前言日常开发中经常要针对不同业务场景作出不同行为与判断,在最早接触的时候普遍都是使用如下代码进行业务区分:if(res.data.code===0){//do something}else if(res.data.code===1002){//do something}else if(res.data.code===1004){//do something}else{//do s...

2020-02-12 11:28:55 5094

原创 获取设备系统浏览器信息

function getOSAndBrowser() { var os = navigator.platform; var userAgent = navigator.userAgent; var info = ""; var tempArray = ""; if (os.indexOf("Win") > -1) { if (userAgent.indexOf("W...

2020-01-15 17:09:32 283

原创 前端处理java后端使用流文件传输方式显示图片

业务场景摈弃第三方图片存储,后端使用java语言开发,图片相关操作使用ftp的流文件传输方式,前端无法使用传统显示图片的方式来显示,需要对返回数据流进行编码处理;整体思路定义请求返回的数据流为二进制类型——对返回数据进行Uint8Array编码——使用String.fromCharCode()方法将Uint8编码的数组元素进行字符转化——使用数组的reduce方法累加数组元素拼凑成字符长串—...

2020-01-15 13:39:18 2721 1

原创 ES6实现操作两个数组元素并返回新数组

ES5时的做法假设现有array_one与array_two两个数组const array_one=[0,1,2,3,4,5,6]const array_two=[0,3,6,7,8,9]现在需要对两个数组进行元素比较并返回新的数组,以往都是这么做的//返回相同元素var array_new=[];for(var i=0;i<array_one.length;i++){//...

2020-01-03 15:12:56 2233

原创 vue无法检测数组变动的原因

前言在vue 2.x版本中,vue无法对数组的增加、删除等操作进行检测并派发视图更新。同理,对于已创建对象实例的属性增加、删除操作也会无法达到监听的目的,虽然对于诸如此类问题都有如$set、数组重构、主动通知vue更新等相应的解决办法。但是对于其产生原理,则需要从vue的响应式实现方式谈起。响应式原理在vue 2.x版本中,针对每一个对象的属性,都是采用的Object.definePrope...

2019-12-31 16:12:50 856 1

原创 使用electron打包vue项目成为应用程序流程及常见问题解答

为什么选择electron?版本兼容性当项目主体针对的医院、政府等单位,一般还在使用相对老旧版本的系统与浏览器,无法对vue框架、ES6等新特性进行支持时,使用electron将web程序打包成exe应用程序即可解决大部分的版本兼容性问题。除非摒弃现有技术栈转而回去写原生的代码,否则你大部分掌握的新语法、新特性与新技术都将得不到应用。混合化开发类似使用RN或flutter,采用跨平台开发而...

2019-12-25 14:28:56 853

原创 纯css实现电池波浪充电特效

实现原理:主要利用css的transform变换与animation属性,通过使用translate(x,y) 实现元素位移、rotate(deg) 实现元素旋转、@keyframes实现关键帧动画。css知识点附于本文底部。展现效果HTML部分:<div class="container"> <div class="header"></div&gt...

2019-12-25 11:32:10 2249 2

原创 2019年中级前端自检清单

Javascript:基本数据类型,基本类型和引用类型之间的差异;熟练运用es6提供的语法规范;熟悉基本数据类型对应的操作方法,特别是数组和对象;理解javascript基于原型编程的原理(这回事),理解原型,原型链;熟悉es5和es6实现继承的方式;理解作用域和执行上下文,能区分call,apply,bind三者之间的区别;了解闭包,能说出在js中对于闭包的定义(闭包是什么东西);...

2019-12-03 09:32:38 279

原创 Promise.all解决多个async/await串行导致的加载缓慢问题

1.问题起源源于某个线上小程序商城项目改造,项目需求为商城内的广告图及其点击跳转地址需做成可配置功能。设计思路:将广告图地址与跳转地址数据存于数据库中,通过对应管理后台进行配置。于是为了精确赋值,在源码内便出现多个async/await的串行异步请求,导致负载压力过大时出现加载速度缓慢的问题。2.解决方案使用Promise.all()方法将多个async/await封装并发进行,具体如下:...

2019-12-03 09:28:29 2446

原创 关于uni-app中的uni.createAnimation循环播放动画的问题

如图,在使用createAnimation的时候打算写一个setInterval循环播放一个图片上下移动的动画,在电脑上模拟iphoneX时能够循环播放,但是手机真机测试时只会播放一次。解决办法是调用translateY的值需要为随机值,即Math.random()。如果是准确的值就会导致无法循环播放,不太懂这个机制产生的原因,询问了官方也没有答复。...

2019-07-30 09:00:49 6375 2

原创 uni-app框架下布局与适配部分解决办法

1.父元素:position使用fixed,相对屏幕使用top、left百分比调整位置,background-size:100% 100%保证不同机型下背景框完全呈现;2.子元素:position使用absolute,字体使用upx,相对父元素使用top、left百分比调整位置。ps:难以调整时可根据uni-app的API获取当前容器宽高比得到屏幕宽高比,使用transform进行缩放。...

2019-07-19 16:40:13 10373

原创 MongoDB数据库备份与导入

服务器本地操作,导入:mongodump -h 127.0.0.1 -d 此处写数据库名 -o 此处写数据备份所在地址(mongodump -h 127.0.0.1 -d MC201901 -o C:\Users\x\Desktop\x_RJ\database)备份:mongorestore -h 127.0.0.1-d x --dir C:\Users\Administrator\Deskt...

2019-07-11 09:49:28 109

原创 MongoDB安装及配置

一、安装https://www.mongodb.com/download-center1.下载就完事。(有部分电脑在安装时会卡住进度条,这是因为在下载时勾选了mongodb compass,记得取消勾选!否则你就会在一个小时内盯着它一动不动的安装!)二、配置正常使用msi文件安装的mongodb直接启动bin文件夹下的mongod.exe程序即可,但是cmd关了mongodb的服务也就关了...

2019-03-25 17:48:48 101

原创 BeyondCompare简单介绍

发现一个针对没有使用git等工具的源码进行版本对比的工具——BeyondCompare,实测使用起来还是挺好用的。beyond compare为了方便码字,以下简称bc。 bc通俗来说就是一个比较工具,通常比较的内容有三种。1、电脑上两个目录内容2、ftp地址的内容与本地内容3、两个文本档案内容比较间的差异用颜色凸显出来,每种颜色代表的又是什么意思呢?1、黑色:左右两侧文件夹、内容一样...

2019-03-05 14:39:05 1753

转载 apply()的巧妙用法

(1)Math.max 可以实现得到数组中最大的一项:因为Math.max不支持Math.max([param1,param2])也就是数组,但是它支持Math.max(param1,param2…),所以可以根据apply的特点来解决 var max=Math.max.apply(null,array),这样就轻易的可以得到一个数组中的最大项(apply会将一个数组转换为一个参数接一个参数的...

2019-03-04 15:32:50 1054

空空如也

空空如也

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

TA关注的人

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