自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 taro导入小程序报thirdScriptError sdk uncaught third Error Cannot read property 'init' of undefined解决方法

微信开发者工具默认的小程序版本是2.04,将微信开发者工具更多->详情->将微信小程序的版本更新到2.6,就不会报错了;

2019-03-20 23:12:14 2266

原创 javascript数组扁平化三种写法

数组扁平化是指将一个多重嵌套的数组变为一维数组:let arr = [1,[[2,2],1],3,[4,5,[6,7]]]; // =>[ 1, 2, 2, 1, 3, 4, 5, 6, 7 ]如何实现呢?这里有三个思路:1. 利用reduce函数: return this.reduce((total, val) => Array.isArr...

2019-03-16 13:41:08 229

原创 VUE查漏补缺(一): $listener跟$attrs的使用

vue中提供了很多很好用的语法糖给我们使用,其中获取原生事件.native就是一种很好的方式:但是,正如VUE官方文档所说的:不过在你尝试监听一个类似<input>的非常特定的元素时,这并不是个好主意。比如上述<base-input>组件可能做了如下重构,所以根元素实际上是一个<label>元素<label> {{ la...

2019-03-15 16:29:08 13731

原创 插入排序,选择排序,冒泡排序,归并排序,快速排序整理(js版本)

先上神图:冒泡排序法:相邻比较大小,来决定是否交换位置,依次迭代,标准的冒泡排序内循环是在尾部开始的;稳定插入排序法:打扑克牌整理牌时的做法,注意需要用到temp来缓存下一个值;稳定;选择排序法:冒泡太着急了,我选择稳妥一点,一次迭代后才确定交换一次;不稳定;因为相同元素的位置会调换;快速排序法:将一大堆数据分成两个堆,一个大的一个小的;然后分别在大堆小堆继续迭代,不稳定;...

2019-03-14 17:50:11 363

原创 原生js就地排序的快速排序算法

快排思想阮一峰老师曾经写过,但是那并不是最正确的算法,不断创建新的数组,会增加空间复杂度;而且通过splice方法提取基准点,由于v8引擎对于splice方法处理的时间负责度为O{n},所以性能会降低,但是不管怎么说,阮一峰老师的排序基本思想是正确的,选取一个基准点,小的放在前面,大的放在后面,依次递归;这对于理解标准的排序算法会有很大的帮助;function quickSort(arr,l...

2019-03-14 16:37:11 1130 1

原创 webpack学习日记(一) 入门

最近看到了很多webpack的文章,十分有体会,在此将笔记整理出来;1. 什么是webpack?webpack是一款将各种各样的模块打包在一起的工具,即万物皆可为模块化2.如何开始使用:创建一个空的项目,接下来npm initnpm i --save-dev webpack webpack-cli安装成功后,新建文件夹src,在里面创建src/index.js,src...

2019-03-13 17:38:37 259

原创 深入理解BFC

要想理解BFC,首先理解FC是什么:Formatting context(格式化上下文) 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。而BFC,则是块级格式化上下文;就是说无论子box怎么搞,除了绝对流定位之外,都不会影响外界的盒子;啥,看起来有点不明不白,那么到底有什么作用...

2019-03-12 22:18:26 125

原创 前端跨域问题三个解决思路

同源策略: 同一个端口,一个域名,一个协议才能访问服务器;Part One : jsonp原理: 通过script标签的src属性加载js不受同源策略控制:首先定义一个处理数据的方法: const handleRequest = function (json) { console.log(json); }注意此处的handleRequest...

2019-03-12 19:13:39 136

原创 js快速排序标准版与简版

快速排序的核心思想非常简单:在数组中,找一个基准点P,然后splice出去; 将数组中小于改基准点的数据放在一个数组,大于基准点的数据放在一个数组; 对左边的数组进行递归操作,对右边的数组递归操作,最后concat起来,并返回标准思想:function quickSort(arr) { arr = arr.concat(); if(arr.length<=1)...

2019-01-15 22:02:34 1805

原创 原生js实现二分查找法与系统自带的indexOf 性能比较

二分查找的概念在于,定义一个数组arr,找到当前数组中点middle,如果要查找的值小于当前middle索引对应的值,则将缩小范围,继续求缩小范围的middle值,接着继续比较,不断缩小范围,最后找到该值;当数据量大的时候,二分查找是很有优势的,下面是二分查找算法的比较:// 二分查找// 在有序的线性表的顺序查找中,时间复杂度为{log(n)}let arr = [];for(l...

2019-01-15 13:47:20 1312

原创 原生js实现二叉树的遍历

首先我们要知道前序遍历:中序遍历,后序遍历的概念:前序遍历:从双亲节点开始,遍历左树,再遍历右树;中序遍历:从左树开始,再遍历双亲节点,最后遍历右树;后序遍历:从左树开始,再遍历右树,最后遍历双亲节点;核心算法很简单:创建一个数组,将当前的节点递归,算法不同处只是在于数组加入node节点的次序不一样: // 前序算法 function beforeErgodic(no...

2019-01-15 12:02:28 646

原创 180行代码手动实现一个promise

function MyPromise(fn) { // 缓存当前的this,方便引用 let promise = this; // 初始化当前实例的value,error,处理成功事件的arr,处理失败事件的arr // 初始化当前状态,默认为pending promise.value = null; promise.error = null;...

2019-01-14 04:57:33 316

原创 js 管道思想

最近在学习es6新语法时,发现一个很有用的思想,管道思想,即一个函数的输出值是下一个函数的输入值:// pipeline 注意reduce参数的用法,将val作为reduce的第二个参数,也就是回调函数prev的默认值const pipeLine = (...methods) =>(val=0)=> methods.reduce((prev,cur)=>cur(...

2018-12-30 21:09:50 2533

原创 ie中input框获得焦点时往上移动

最近做项目,在ie中打开一个input框时,获得焦点就会出现如下情况一调试,就知道是line-height与高度不一致导致的,但是奇怪的是,为什么在谷歌中,line-height跟高度不一致不会导致这样的情况,估计是谷歌内部做了优化,当行高大于高度的时候不是会将当前的字体往下拉吗?我在火狐调试,也是一样跟谷歌的情况,如果是普通的div高度设为30px,行高为60px,就会出现输入框往下移的...

2018-12-13 09:43:22 1207

原创 span标签在后换行不对齐解决方案

在公司做项目时,后台反馈说做的页面的span标签不对齐,让我改一下,我一看,明明就没有空格,怎么改?接着尝试在换行处加上一个 ,发觉还是无效;后来才发现,是span的padding-left惹的问题,padding-left只对第一行有效,第二行换行后,不受padding-left影响。修改为margin-left即可解决问题...

2018-12-10 14:39:05 7096 1

原创 Vue中Unknown custom element: <page> - did you register the component correctly? 解决方法

Unknown custom element: &lt;page&gt; - did you register the component correctly? For recursive components, make sure to provide the "name" option.刚开始使用VUE,一直提示这个,后来才发现是注册组件时注册反了;先新建VUE实例再注册组件是问题根源,调...

2018-12-10 08:45:40 110041 7

原创 z-index误用示范

之前一直错误的观念是,z-index是可以随意调节元素的优先级的,但是最近才发现,z-index只会绝对定位有效,所以无论你怎么调节标准流的元素,只有z-index大于1,都是会覆盖在标准流之上;另外你不设置z-index,定位流默认也是会覆盖在标准流之上;...

2018-12-05 11:09:32 150

原创 js中的深浅拷贝理解

浅拷贝,通俗理解就是拷贝一层,例如{a:1,b:{c:1,d:2}},那么拷贝的是a,b指向的内存的位置;由于b指向的是一个对象的引用,那么,我对原来对象中的c属性进行修改,也会影响到新对象属性的值;但是修改原来对象中a的值,就不会影响后新对象a的值;那么如何实现浅拷贝呢? function simpleClone(obj,newObj) { if(typeof...

2018-12-04 22:18:41 130

原创 正则匹配/g在onfocus事件校验不准的小bug

最近在做表单校验页面,发现当正则匹配对象是/g的情况时,会出现校验不准的小bug,第一次focus时匹配正确,第二次focus时里面的值就不正确了,依次重复,非常奇怪;后来仔细看了global参数,是指完全匹配里面的字符串,但是按理说也不会一直校验不准确。后来尝试不添加参数,或者将参数改为i,就可以成功校验了。&lt;!DOCTYPE html&gt;&lt;html lang="en...

2018-12-04 15:27:06 153

原创 pageX,clientX,screenX的区别

clientX是指鼠标到当前页面X轴的距离,如果有滚动,这个参考点也会改变,还不能理解就想一下fixed定位就可以了;pageX是指鼠标到当前bodyX轴的距离,如果有滚动,参考点也不会变,如果position为absolute为例;screenX是鼠标到当前屏幕X轴的距离,不会改变,但不同的会有所不同;...

2018-11-27 09:52:13 1809 1

原创 javascript中实现伪数组转为真数组的一种方法

最近在研究JQuery代码,发现JQuery实现真伪数组的代码十分巧妙;伪数组转为真数组的实现代码比较简单,如下: let obj={}; let arr=[1,2,3,4,4,5]; //通过[].push找到数组中push方法 //通过apply修改this的指向 //将arr的值赋给该对象 //将真数组转化为伪数组 [].pus...

2018-08-03 14:48:44 353 1

原创 全量更新与增量抽取

最近在做项目时,遇到全量覆盖与全量追加与增量抽取的概念。首先声明此处的增量是指表格insert的数据,不包括delete,update等操作后的数据。如果有表A与表B,第二天表A增加的数据是a,B的表格依赖于A,每天定时更新。全量追加就是在第二天更新时,将A+a查询出来,然后与表格B进行对比,就是进行与操作,与之后的结果,insert到B表格中。全量覆盖是在第二天更新时,将A+...

2018-08-03 11:09:48 5861

原创 设置绝对定位对于子元素继承父元素的高度的影响

笔者在写网页时,发现一个问题,当一个父元素没有设置高度,而全靠子元素1撑起高度时,此时子元素2就无法继承父元素的100%高度,代码如下:&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit

2018-07-30 21:31:12 11834 5

原创 原生js制作匀速动画与轮播图注意事项

笔者最近在创作轮播图,碰到了不少坑,特此分享1.轮播图需要制作多一张图片作为缓冲,使用cloneNode来实现: //1.1必须克隆li标签,用来过渡动画 $('ul').appendChild(lis[0].cloneNode(true));2.在制作匀速动画时,我使用以下代码来封装:function averageAnimation(id,target,...

2018-07-22 03:39:55 332

原创 原生js-简易点名册实现

本人前端新手,最近实现了基于js点名册的简单实现,方便快捷,现在直接上代码&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt; &lt;style&g

2018-07-13 19:05:30 1274

facenet谷歌预训练模型

这是谷歌的预训练模型,而之前在facenet上的20170512的模型代码运行时会报错,所以分享出来不需要到谷歌云盘上下载了

2019-01-23

空空如也

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

TA关注的人

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