自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 节流函数+防抖函数+3种排序算法

// 节流函数function antiShake(callback,delay=1000){ timer = null; return function(){ clearInterval(timer); let timer = setTimeout(()=>{ callback() },delay) }}//防抖函数function

2020-05-29 11:23:15 212 1

原创 发布订阅模式和观察者模式对比

// 发布订阅模式//定义一个事件对象const event = { container:[], on(fn){ this.container.push(fn); }, emit(msg){ this.container.forEach(fn=>fn(msg)) }}event.on(function(msg){ console.log('小A收到了一条消息' + msg)})event.on(function()

2020-05-28 14:22:02 192

原创 promise简单的封装

const PENDING = 'PENDING'; const RESOLVED = 'RESOLVED'; const REJECTED = 'REJECTED' class Promise{ constructor(executor){ this.status = PEND...

2020-04-17 10:20:04 135

原创 eval函数里面执行函数传参

function test2(a,b){ console.log(arguments,'kkkk');//输出一个数组[1,3] console.log(a,b);//输出 1,3 return a + b; } var r = [1,3]; var n = eval('test2('+r+')'); 一般理解eval函数可以将字符串转...

2020-03-21 10:30:06 3932

原创 js 中instanceof的用法

// instanceof 用法 a instanceof A 用于判断console.log([] instanceof Array)//trueconsole.log([] instanceof Object)//true//这里数组[]既在Array 的原型链上 也在 Object的原型链上console.log({} instanceof Array) // false {}...

2020-03-20 14:19:52 422

原创 这可能是最简单的快速排序法

function quickSort(arr){ if ( !(array instanceof Array)){ return alert('参数必须是一个数组'); } if(arr.length<=1) return arr; let flag = arr.shift();//移除数...

2020-03-20 12:53:31 89

原创 适配器模式 小demo

适配器模式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equi...

2019-10-26 21:32:07 104

原创 观察者模式 小demo

观察者模式回顾。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e...

2019-10-26 20:53:39 198 1

原创 代理模式 小demo

代理模式js中很常见,es6有新增一个代理对象Proxy;在理解上可能有一定的困难,此代理模式和彼代理对象不太一样,具体看代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=...

2019-10-26 10:20:05 127

原创 单例设计模式小demo

回顾了一下单例设计模式,所谓单例设计模式,就是一个类只有一个实例,这句话在小红书上也接触到过,刚开始没有理解,而且这句话的潜在意识是一个类也可能会有多个实例,例如通过new关键字创建的实例,每一个实例都是不一样的,每一个实例都是指向不同的引用,而单例,就是一个类只能放回一个对象,无论调用多少次,如果存在已创建的实例,则返回的是undefine;废话不多说,上代码。<!DOCTYPE htm...

2019-10-26 09:46:51 128

原创 依赖注入实现小demo

下午复习了一下依赖注入的实现,感觉依赖注入和策略模式又点相似,但是依赖注入主要是为了提高效率,对于使用的功能才注入,而不是全部的引用,说白了就是一种按需引入的模式,废话不多说,上代码。<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="...

2019-10-20 18:54:47 158

原创 策略模式 表单验证插件的封装

今天对策略模式进行了复习,对之前学过的代码进行了回顾,发现目前工作中也似乎用到了策略模式,策略模式的方式很巧妙,解决了i频繁使用if造成的冗余问题,策略模式封装的插件虽然好用,但是却并不好理解,废话不多说,上代码。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &...

2019-10-19 21:28:04 139

原创 jq链式调用实现demo

jq链式调用的实现方法最近回顾一下设计模式的方法,这里简单实现jq的链式条用方法,代码不算原创,但是个人也算是复习巩固加深理解,特别是加深对js原型链的理解,废话不多说直接上代码。<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=d...

2019-10-13 13:42:21 231

原创 移动端媒体查询的设置(less的写法)

@media only screen and (max-width:1920px),only screen and (max-device-width:1920px) { html, body { font-size: 117.1875px; max-width: 750px; }}@media only screen and (m...

2019-05-19 16:30:11 1607

原创 利用canvas对图片进行等比例压缩

<script> var input = document.querySelector("input"); var imgArr=[]; input.addEventListener("input",function(){ var files = this.files; var isOk= checkStyle(...

2019-05-16 17:48:31 1904

原创 手机触屏和滑动事件的封装

function MobileEvent(domObj){ return{ tap:function(callback){ var startx, starty, startTime, endx,endy,endTi...

2019-05-16 17:34:35 274

原创 js 深复制

<script> // 封装一个深复制的函数 var obj={}; var obj1={ a:1, b:2, c:{ d:10, e:20, set f(value){ this.a=value; ...

2019-04-27 17:13:05 94

原创 jq代理和es6的proxy代理

<script> // jq的事件代理 function Car(){ this.name="兰博基尼"; this.show=function(){ console.log("好牛逼的车") } } var expensiveCar=new Car(...

2019-04-27 14:02:55 222

原创 js原型链的继承

今天好好总结一下js 的原型链继承方式经过这么久的学习和体会,终于将js 的原型链继承基本搞懂了,画个图

2019-04-26 21:13:19 159

原创 笔记整理 js防抖函数和节流函数

// //防抖 window.οnscrοll=antiShake(function(){ console.log("我顶你个非啊") },100) function antiShake(func,delay){ var timer=null ...

2019-04-25 17:45:57 138

原创 终于可以独立写出cookie的封装了

//获取cookie function getCookie(key){ var str=document.cookie; var arr=str.split("; ") for(var i=0; i<arr.length; i++){ list = arr[i].split("="); if(key==list[0]){ return...

2019-04-07 19:37:59 180

原创 关于对js数据类型的理解

对于任何东西的学习,搞懂其实很简单,并不需要话太多的时间或者精力,但是想理解得深 些、透彻些 却很难,需要花时间、花精力去悟,很多时候看别人的东西不一定能懂,所以必要 要有自己的理解。 这里我就js的数据类型谈谈自己的理解,对于初学者来讲,js数据类型应该是最先接触到的知识点, 罗列一下 大致有这几种类型 number string boolean functi...

2019-04-07 13:54:22 154

原创 关于e.clientX/e.clientY、ele.offsetHeigt/ele.offsetWidth、offsetx/offsety的区别以及拖拽函数

关于e.clientX/e.clientY、ele.offsetHeigt/ele.offsetWidth、ele.offsetTop/ele.offsetLeft、offsetx/offsety的区别 在学习运动的时候,对于以上的这四种属性一直都是模棱两可,处于混淆的状态,今天好好加以解释,1 e.clientX/e.clientY 比较简单表示鼠标在滑动的时候在浏览器可是窗口的坐标(纯数字...

2019-03-27 13:39:01 994

原创 js快速排序正确的写法

js快速排序的正确写法  前端小白一枚,学习js的时间不长,这里想说一说关于快速排序法的代码的正确写法,网上有很多,我只能说有些事不够准确的,没有考虑到数组里面重复出现元素的情况,请看看正确的代码显示 // 快速排序法 function quickSort(array){ if(array.length<=1){ return array; } ...

2019-03-27 13:04:52 364 1

空空如也

空空如也

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

TA关注的人

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