自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 零基础,直接上手 Django

django 是非常方便的web后端框架,简单易上手

2023-07-10 11:06:19 131

原创 设计一个数组迭代器

<script> // 设计一个数据的迭代器 Array.prototype.oneach = function (f) { try { this.i || (this.i = 0) if (this.length > 0 && f.constructor == Function) {...

2018-10-15 12:49:30 277

原创 proxy 对象代理

proxy 对象代理 代理模式的实现 代理模式的实现,一般用于,代理拦截,预警,上报,统计,扩展功能 Proxy函数接收两个对象 (target, handler) 被代理对象,,对代理对象的操作1.get 获取某个属性时触发let person = { name: 'CY', age: 108}let obj = new Proxy(pe...

2018-09-07 15:27:57 519

原创 generator 与 async await

generator 函数可用于解决异步的深度嵌套,函数与函数名间加上* 就能成为generator函数,next() 依次执行yield域,return后结束function * show(){ yield 'welcome'; yield 'to'; return 'toilet'}let a = show();console.log(a.next(...

2018-09-07 14:10:00 514

原创 ES6中的类

类的定义一般的定义class Person{ constructor (name, age) { [this.name, this.age] = [name, age]; } // 函数挂载于原型上 showName () { return `my name is ${this.name}`; }}赋值...

2018-09-07 10:06:54 298

原创 es6关于数组的几个函数

关于数组的函数mapmap遍历方法的回调函数里有三个参数,(val, index, all),分别代表值、下标、被循环的数组。let arr = [{title:'new1',read:200,hot:true}, {title:'new2',read:300,hot:true}, {title:'new3',read:400,hot:tru...

2018-09-06 21:13:57 358

原创 Map 和 Set

Map是一种类似于json的数据格式,map的键key可以是任意类型*/let m = new Map()// 添加m.set(123, 'abc').set(234, 'bcd').set(456, 'doh')// 获取m.get(123) // 'abc'// 删除m.delete(456)// 判断是否有keym.has(123) //true// 清空...

2018-09-06 20:29:34 105

原创 关于es2018中正则表达的命名捕获

es6中的命名捕获(?<别名>) 在正则表达式中以这样的形势就能给子表达式取一个别名,以获得更好的代码可读性 现在有一个字符串,’2018-09-06’,我需要分别获取他的年月日,以前的做法就是: let str = '2018-09-06'let reg = /(\d{4})-(\d{2})-(\d{2})/let arr = str.matc...

2018-09-06 19:20:25 347

原创 拖拽功能函数

实现拖拽功能的简单函数 class Drag{ constructor(el){ this.el = document.querySelector(el) this.distance = { x: 0, y: 0 } this.init() ...

2018-09-06 13:50:06 286

原创 深入学习Promise机制

模拟Promise模拟Promise的基础实现,加深对Promise的理解class Promise2{ constructor(fn){ let _this = this this.state = '' this.res_success = null this.res_error = null ...

2018-09-05 20:00:17 178

原创 防抖、节流

在网站的交互过程中,有很多操作会被频繁的触发,这样就给浏览器和服务器带来了不小的负担。节流和防抖就是很好的降低频率的方式节流 将一个函数的执行控制在一定的时间间隔外就是节流,下例将log函数控制再1秒钟内只能触发一次let lastTime = 0function log(){ let nowTime = new Date() if(nowTime - last...

2018-09-05 16:21:07 213

原创 记忆函数

学习了几种提高性能或优雅程度的函数记忆函数1.以一个阶乘的函数为例,这样的函数能缓存计算过的值,并直接返回,可以免去再次计算。let count = 0let cache = {}function factorial(n){ if(cache[n]){ return cache[n] } count++ if(n == 1...

2018-09-05 14:09:59 795

原创 模拟几个函数的实现

在基础知识的学习中要注重深入,模拟一些常用函数的学习便是很好的办法,一下皆是本人学习记录,无关对错模拟bindFunction.prototype.newBind = function (target, ...args){ target = target || window let self = this let temp = function ()...

2018-09-05 13:37:55 228

原创 关于js的对象和数组深拷贝

在js的应用中,对象和数组的拷贝是经常出现的情况,由于其是引用传递,直接赋值,可能导致原始对象或数组被无意的修改浅拷贝 1.浅拷贝只能实现,一层引用的拷贝,如果一个对象中还有对象,那么这个值依然是引用值 function clone(Origin, Target){ let target = Target || {} for(...

2018-08-31 21:24:04 145

原创 关于js利用canvas生成验证码的封装

canvas绘制验证码在几乎每个网站登陆都会使用验证码来防止机器等非人操作,防止数据库被轻而易举的攻破。 验证码一般是PHP或java等生成的图片。在前端,用canva或SVG也可以绘制验证码;以下是用canvas生成验证码的方法 我将该方法简单的封装成了Verify类,只需要传入canvas元素的类名或者id,就能初始化canvashtml结构如下 ...

2018-08-31 13:36:17 598

原创 js继承的回顾

一、js作为面向对象的若数据类型语言,其也是有继承特性的。但是由于js的类本身是函数,这就导致了js继承的特殊性。既然要继承,那么我们就先创建一个父类,这个父类的构造函数里有一个属性和一个方法,原型上也有一个属性和一个方法。 //首先定义一个父类 function Parent(lastName = '建国'){ this.lastName = las...

2018-08-30 20:35:02 106

原创 markdown学习记录

  ###一、markdown是一种内写样式结构的轻量级的标记语言   由于其简单易读,markdown已经成为了网络上受大众喜爱的语言了,各大博客平台均有支持。  但是各大平台支持的语法也不尽相同,我准备从通用语法着手开始学习md。  ###二、语法   > md中使用 # 、* 、- 、_ 、() 、[] 、>等标记&

2018-08-30 20:31:47 132

空空如也

空空如也

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

TA关注的人

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