- 博客(25)
- 问答 (2)
- 收藏
- 关注
原创 合理使用构造函数对性能带来的优化
如果你非常注重性能,那么下面的代码可能对你很重要。function Article() { this.title = 'Inauguration Ceremony Features Kazoo Band'; }let a1 = new Article();let a2 = new Article();构造函数跟性能有什么关系呢?这就要从js引擎(Chrome V8)的工作原理说起了——使用隐藏类HiddenClasses运行期间,V8会将创建的对象与隐藏类关联起来,以跟踪它们的属性特
2020-10-28 16:06:07
349
原创 Vue3自定义指令初探以及插件的使用
背景在我司的项目中,权限管理方面涉及到了Vue自定义指令功能,也使用了一些以自定义指令形式调用的插件。Vue3.0发布后,不再直接暴露一个Vue类而且directive()方法注册自定义指令的hooks也有所改变,意味着2.x版本的Vue.use()方法不再可行,同时在注册组件时各个方法挂载在hooks上的位置也要做调整。刚好最近有空,就来探究一下组件在Vue3中能否正常运行,如果不能,要怎么做调整。阅读前提一定的Vue插件开发知识对Vue工作原理有所了解准备工作1.首先更新一下vue
2020-09-30 17:17:40
2139
原创 js kmp之部分匹配表解法
(本文是个人理解+实现,留作备忘,如有问题欢迎讨论)较之暴力匹配,kmp的优点在于对源字符串(待匹配的母串)遍历时省略掉了部分循环,在某些情景下可以带来可观的性能提升。而部分匹配表解法的核心是通过对比模式串的前缀和后缀(定义不再赘述)得到一个部分匹配表数组。获取部分匹配表:function getPartMatch(str) { let result = [0], l...
2020-04-08 19:11:34
487
原创 信息系统项目管理师考试有感
先上成绩论文险过,案例富余,选择正常发挥感想高项能算是软考高级职称中“最简单”的一个了,因为其内容多为偏理论性的管理知识,不像系统分析师、系统架构师等,需要比较深厚的专业知识。所以报考的人数也是逐年激增,2019年官方给出的数据,报考人数比2018年增长了50%,同时考题难度也有了很大改变,通过做往年的真题与今年的试题可以感受到:(例如计算题)早年基本上大部分是很简单的PV、EV、AC、...
2019-12-24 11:59:59
457
原创 nginx启动失败之nginx: [emerg] invalid number of arguments in "root" directive in nginx/nginx.conf:41
出现这个报错说明root的参数不对,网上目前有以下几种答案:句尾忘记加分号路径中文件名使用了中文路径中有空格我再来补充一种:路径中的斜杠与反斜杠问题。本来我的路径是这样的location / { root F:\2018; index index.html;}没有报错,后来我想把根目录具体到一个项目,改成了这样location / { roo...
2018-11-16 19:10:26
4830
原创 初级前端的求生之路(遇到问题时的一些思路)
前言一晃就快半年没写什么东西了,在这段时间里,我经历了妻子从孕晚期到临盆,孩子的满月,两代人的磨合…好在,妻子是通情达理的妻子,长辈也是明辨是非的长辈,一家虽说不上其乐融融,相处也倒算得上融洽。工作方面,托领导的福,知道我的情况后,一直没给我安排什么任务,所以也一直没什么值得让我专门抽时间坐下来记录记录的东西。在家里情况趋于稳定的过程当中,我也开始陆陆续续接手一些项目。今天想说的事情,就...
2018-10-27 00:40:54
488
原创 在swiper中使用长页面,以及嵌套多个swiper时滑动卡顿、无法滑动的问题。
前言一般而言,swiper的应用场景大多是两种:满屏切换的H5页面pc&移动端各种样式的轮播图但有的时候,面对奇怪的需求,我们需要改变,甚至让swiper实现一些无法实现的功能。 需求近期接到一个h5项目,主体头部是一个选项卡,对应两个子页面,每个子页面的第一屏为一个满屏的kv,监测到向下滑动时平滑过渡到第二屏,而第二屏是一个长页面。 思路...
2018-06-29 14:15:23
19972
4
原创 canvas绘制的内容在高清屏中模糊以及错乱问题。
最近在做一个h5游戏的时候,用到了Phaser.js这个游戏引擎,可以将游戏的所有过程全部放在一个canvas里,在开发的过程中,发现正常切出来的图放在canvas里会变得模糊,网上有很多关于这个问题的文章,解决方案大致是使用phaser.js生成canvas标签时传进的height、width参数要在原先基础上乘以设备的dpr:var game = new Phaser.Game(width...
2018-05-21 15:54:45
1944
原创 gulp简易配置热更新+编译less+编译es6+压缩js、html
需要用到的npm包有:gulpbrowserSyncgulp-htmlmingulp-lessgulp-uglifygulp-babelbabel-preset-es2015 请自行百度安装 参考如下目录结构project│ gulpfile.js││ package.json││ package-lock.json│ └───n...
2018-02-27 10:30:28
2036
原创 移动端h5开发,华为手机输入法键盘影响页面布局的问题。
在做移动端h5的时候,有些简单的页面,我们一般都会给body写上:width:100%;height:100%;然后给一个满屏的背景图,简单方便的适应不同屏幕的手机。 有时候为了采集用户信息,页面上会放置几个input框让用户填写,那么问题就来了。 如图,一个100%布局的页面,上面有一个input 在input没有获得焦点(即没有弹出输入法)的时候,我们的华为
2018-01-19 18:14:41
11902
原创 方便易用的excel转json数据小工具
先上链接为敬(https://github.com/wyh369352887/pickExcel) 近期有很多项目涉及到了大量的excel数据,其中也只有部分数据是有用的,网上找了很久没有合适的抓取工具,索性在一个前辈基础上(https://github.com/wwhgtt/excel)修改并增加了一些功能:抓取整列数据抓取整行数据抓取符合某些条件的整列数据 目前只是初版
2018-01-08 18:06:31
687
原创 微信浏览器内兼容android iOS调取手机摄像头进行拍照、打水印、压缩、预览
实现这些功能使用了如下插件:图片打水印:watermark.js(https://github.com/brianium/watermarkjs)图片压缩:localResizeImg(https://github.com/think2011/localResizeIMG)读取图片元数据:exif.js(https://github.com/exif-js/exif-js) html部分//调
2017-12-22 18:05:15
6735
原创 移动端user-scalable=yes页面,旋转屏幕后重置缩放比例。
对于user-scalable=yes的页面,旋转屏幕页面重新渲染后,会出现initial-scale!=1的情况,项目需求用户旋转屏幕,初始缩放比例始终是100%。 可监听页面的orientationchange事件,动态的给meta标签重新赋值达到效果:window.addEventListener("orientationchange",function(){ var i =
2017-11-30 11:36:02
4298
2
原创 自定义样式的单选、多选按钮逻辑
首选全局声明一个对象,用来储存所有题的答案var answerData = { 'q1':'', 'q2':''}单选题dom结构:<div class="q1"> <div class="qImg"></div>//选项是否被选中图片 <div class="qBody"> <div class="question">请问您的性别是?</div>
2017-11-17 15:42:27
798
原创 微信H5同层播放器以及视频自动播放
iOS之前已经解决了视频播放默认全屏,且浮在页面最顶端的问题 playsinline webkit-playsinline 这样就可以在视频之上进行一些操作,实现诸如弹幕、自定义播放控件等的效果。 但是安卓端却一直迟迟没有一种比较完美的解决方案,直到腾讯规范了H5同层播放器。 在安卓端启用H5同层播放器也是十分的简单: x5-video-player-type="h5" 同时也可根据项目需要选择
2017-11-06 15:43:41
14044
原创 innerHTML、innerText、outerHTML、outerText、text()、html()、val()、document.write、document.writeIn
首先,针对API的所属进行分类: HTML DOM属性:innerHTMLinnerTextouterHTMLouterTextdocument.writedocument.writeInjQuery API:text()html()val()innerHTML、innerText、outerHTML、outerTextinnerXXXX和outerXXXX的区别在于:
2017-08-28 17:50:26
1116
原创 移动端对es6的支持度以及babel的安装
最近的一个项目(微信H5)上线后出现了一个问题:进入页面后没有加载到全部的文件,页面卡住,并且有如下情况:大部分用户可以正常访问部分用户出现问题,然后刷新、清缓存之后正常个别用户反复刷新、清缓存都无法正常显示页面正常情况下,产生这种情况的原因有很多,例如:html页面语法错误浏览器报错停止渲染、js语法错误程序报错卡住、后台返回数据有问题js报错程序卡住、cdn加载失败等等等等…首先,作
2017-08-22 17:07:07
7340
原创 css3clip-path绘制正八边形
做微信H5项目,不可避免的要碰到使用用户头像的情况,而设计师为(cong)了(bu)追(kao)求(lv)美(qian)观(duan)也总是会出一些五花八门的头像框设计稿。虽然我觉得圆形就挺好看的。。。 此次项目中有一个排行榜页面,会呈现用户名称、头像、积分等一些条目,而本次的头像框,是正八边形的- -。 由于本菜此前并未研究过svg,canvas等绘制矢量图形的东西,当拿到设计稿之初,脑海里浮
2017-08-16 15:52:39
4094
原创 关于wordpress导入xml文件无响应的问题。
公司要给新项目单独做一个简单首页站用来报备使用,选择简单方便的wordpress软件进行开发,将导出好的其他网站wordpress的xml文件导入后,界面一片空白不显示任何东西,刷新后提示导入的文件是空文件,请检查php是否允许上传或上传文件的限制是否符合要求(由于该问题本人已经解决忘记截图,提示语句大概是这个意思)。 百度 and Google了很久之后,网上对于这个问题的解决方案大多是修改ph
2017-07-25 16:53:39
1993
原创 es6模板字符串中标签模板作为参数时产生空元素的问题
当模板字符串作为标签模板使用时,标签函数接受到的参数分别为(arr,…values)arr:模板字符串中所有那些没有变量替换的部分…values:各个变量替换后的值即let a = 'Oh!';let b = 'the';let c = 'very much!'tag `${a} I love ${b} JavaScript ${c}`;function tag(arr, ...valu
2017-07-21 22:51:53
1833
原创 基于jQuery的日历+每日签到功能
公司要开发一个h5页面,里边有一个每日签到抽奖的功能,本以为这样的插件应该会有很多,结果找到的全都是仅生成日历的插件,于是乎就出现了下面这个东西。(前端菜鸟,请大神嘴下留情,也请小伙伴们多提宝贵意见)废话不多说,下面先是html部分:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>基于jq
2017-06-17 20:45:15
8044
原创 循环中的闭包
for(var i = 0; i < box.length;++i){ (function(a){ box[a].onclick = function(){ console.log(a); } })(i);}
2016-12-29 15:13:16
530
原创 JS中关于clientWidth offsetWidth scrollWidth等的一些含义
网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth (包括边线的宽); 网页可见区域高: document.body.offsetHeight (包括边线的宽); 网页正文全文宽: document.body.scrollW
2016-12-29 15:10:52
493
原创 js建立必须填写的字段(详解)
这是《Javascript基础教程(第九版)》6.3章节的一段代码,相信很多初学者看完之后会觉得书里的注解远远不够,以下是根据我的理解对这段代码的详解
2016-11-03 23:11:17
2049
空空如也
es6 copywidthin的问题
2017-07-27
关于es6模板字符串的问题
2017-07-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人