自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript数据结构与算法 -- 集合 Set

1.集合结构集合比较常见的实现方式是 哈希表(后续讲解到),我们这里来实现一个封装的集合类。集合通常是由一组无序的,不能重复的元素构成2.特殊的数组特殊之处在于里面的元素没有顺序,也不能重复。没有顺序意外这不能通过下标来进行访问,不能重复意味着相同的对象再集合中只能存在一份。因为ES6里面已经实现了Set类我们为了明确集合的内部实现方式,这里自己封装一下Set类。...

2020-02-29 23:34:21 174

原创 JavaScript数据结构与算法 -- 双向链表

1.单项链表简介和缺点只能从头遍历到尾或者从尾遍历到头(一般从头遍历到尾)。也就是链表相连的过程是单向的。实现的原理就是上一个链表有一个指向下一个链表的引用。我们可以很轻松的到下一个节点,但是回到前一个节点是很难的。但是实际开发中经常需要回到上一个节点的情况。假设一个文本编辑器用链表来存储文本,当光标向上移动链表直接操作到下一个节点,但是光标向上移动呢,回不到上一个节点,就需要从he...

2020-02-27 21:23:23 224

原创 JavaScript数据结构与算法 -- 链表(单向链表)

1.链表链表和数组一样,可以用于存储一系列的元素,但是链表和数组的实现机制完全不同。要存储多个元素,另外一个选择就是链表。但不同于数组,链表中的元素在内存中不必是连续的空间。链表的每个元素由一个存储元素本身的接概念和一个指向下一个元素的引用(c语言指针)组成。2.数组的局限性数组是我们常用的最常用的存储多个元素的闲心结构。数组的创建通常需要盛情一段连续的内存空间,并且大小是滚顶...

2020-02-25 23:42:21 213 1

原创 css3仿手机美团

1.主要练习css3的使用。2.项目结果dit 地址:欢迎大家交流仿手机端美团git项目地址

2020-02-25 19:44:51 432 1

原创 flex布局复习

1.认识flex布局flex布局(Flexible布局,弹性布局)。目前移动段用的最多,现在PC端也是用的越来越多了。2.两个重要的概念开启flex布局的元素叫做 flex containerflex container里面的直接子元素叫做flex items3.开启flex布局(设置元素的属性display)display:inline-flex; 行内元素displ...

2020-02-25 19:25:26 254

原创 JavaScript数据结构与算法 -- 队列/优先级队列

1.队列结构队列(Queue)结构是一种受限的线性表,先进先出(FIFO First In First Out)受限之处在于,它只允许在表的前端(front)进行删除操作在表的后端(rear)进行插入操作2.生活中类似的队列结构电影院,商场排队,游乐场排队买票打印机打印文件3.队列的应用打印队列:有五份文档需要打印,这些文档会按照次序放入到打印队列中打印机会一次从队...

2020-02-24 13:23:03 803

原创 git基本使用

使用git提交代码到远程仓库1.在你写好的项目文件夹里面,使用命令git init 初始化仓库 生成一个.git 文件2.提交到缓存区git add . 或者 git add --all 选中仓库所有文件3.提交到本地仓库git commit -m“这里是对本次提交代码的相关描述”4.将本地仓库与远程仓库关联git remote add origin+“远程...

2020-02-24 00:59:07 114

原创 JavaScript数据结构于算法 --- 栈

1.栈的简介栈是一种受限的线性表,后进先出LIFO(last in first out)表示就是后进入的元素,第一个弹出栈空间向一个栈插入新元素叫做进栈,入栈,作为栈顶元素从一个栈删除元素称作出栈或者退栈,他就是删除栈顶元素,使其相邻的元素成为新的栈顶元素。2.生活中类似栈的自助餐的托盘,最先放上面的最先被客人拿去。收到的邮件,最后收到的处于邮箱最顶部。3.栈的应用函...

2020-02-23 00:06:22 276

原创 Vue项目开发经验1

1.项目文件的划分assets 负责防止一些静态资源,可以建立两个文件夹images和css分别放置图片和样式文件。common 放置一些当前项目用到的常量,例如封装防抖,节流函数,以及mixin混入的函数。components 负责放置一些组件 ,通常设置两个文件夹,第一个common,放置多个项目均能用到的组件,例如封装好的swiper轮播图组件,scroll组件等。 第二个文件夹...

2020-02-22 20:35:50 285

原创 ES6 module

1.概述1.1 JavaScript一直没有(module)体系,导致无法将一个大程序拆分成相互依赖的小文件。1.2 ES6之前,指定了一些模块加载方案,CommonJS和AMD,前者用于服务器,后者用于浏览器。1.3 ES6的设计思想是尽量静态化,使得编译时就能确定模块的依赖关系,输入输出关系。1.4CommonJS和AMD都只能在运行时确定这些东西。//CommonJS 模块l...

2020-02-21 16:38:00 150

原创 ES6 class的继承

1.class继承简介1.1class可以同过extends关键字来实现继承。 { class Point { } class ColorPoint extends Point{ } }1.2子类必须再constructor方法中调用super方法,否则新建实力会报错。这是因为子类没有自己的this对象,而是继承父类的this对象。{class P...

2020-02-20 23:53:28 165

原创 ES6 -- class学习(1)

1.class简介1.1 javascript 语言的传统方法是通过构造函数定义并生成新对象。下面是一个例子 { function Point(x, y){ this.x = x; this.y = y; } Point.prototype.sum = function(){ console.l...

2020-02-19 21:41:14 144

原创 javascript 函数节流

1.什么是函数节流?限制一个函数在一定时间内只能执行一次。2.项目开发–防止恶意刷注册最近在开发项目是,写到了home页登录注册,完成了一个form表单,自认为没什么问题了,小伙伴告诉我为了防止有人恶意刷注册,后台接口增加了每次提交间隔60s才能提交一次。而我前端就用了定时器一大堆代码,加上dom操作修改input的disabled属性完成了这个操作。后来想到了函数节流。3.函数节流代...

2020-02-19 00:19:13 119

原创 ES6 -Async--Await异步编程的曙光

1.asysc函数的含义ES2017引入标准asysc函数,使得异步操作变得更加方便。asysc是什么呢?他就是Generator函数的语法糖。前面介绍过一个Generator函数,依次读取两个文件;{ let fs = require('fs); let readFile = function (fileName){ return new Promis...

2020-02-18 19:37:48 334

原创 vue项目问题(1)javascript函数防抖

1.什么是函数防抖?官方的解释:当调用动作过n毫秒后,才会执行该动作,若在这n毫秒内又调用此动作则将重新计算执行时间。看完难免有点懵逼,所以我自己的路理解就是。公交车停站后,为了更好的接待游人。在最后一个人上车后原地等待20s钟,在等待20s的时候有人赶来了,等他上车后再等待20s钟,假如在20s内又等来一个人就继续等待20s。相当于刷新了等待20s这个机制。再通俗的一个例子就是,派克的R...

2020-02-17 22:34:02 134

原创 ES6 Generator函数异步应用(3)

Generator 函数的异步应用1.处理异步的传统方法ES6诞生以前:主要有以下四种方法回调函数事件监听发布/订阅Promise对象2.异步因为js语言的执行环境是单线程的,如果不是用异步,根本无法使用。异步就是将一个任务分为两段,第一段执行完毕再去执行其他任务,完了之后在回头处理第二段。同步就是连续执行,如果程序a没执行玩,b只能等待。3.回调函数JavaScr...

2020-02-17 16:26:03 209

原创 ES6 Generator函数(2)

1.Generator 与 协程协程是一种程序运行的方式,可以理解为"写作的线程",或者"协作的函数",协程既可以单线程实现,也可以多线程实现;前者是一种特殊的子例程,后者是一种特殊的线程。2.Generator应用Generator 可以暂停函数执行,返回任意表达式的值。这种特点使得Generator有多种应用场景。3.Generator异步操作的同步化表达Generator函数的...

2020-02-16 20:08:34 86

原创 ES6 Generator函数(1)

Generator 函数(1)1.Generator函数的概述 Generator函数是ES6提供的一种一部编程解决方案,语法行为与传统函数完全不同。对于Generator函数有多种理解角度。从语法上看,首先可以将它理解为一个状态机,封装了多个内部状态。执行Generator函数返回一个遍历器对象。 形式上,Generator函数是一个普通函数,但是有两个特征:一是functio...

2020-02-15 20:05:56 183

原创 ES6 Reflect

1.reflect 概述Reflect 对象与Proxy对象一样,也是ES6为了操作对象而提供的新的Api。Reflect对象的设计目的有以下几个。1.1将Object对象上的一些明显属于语言内部的方法(类如Object.defineProperty)放到Reflect对象上。现阶段某些方法同时在Object和Recflect对象上部署,未来的新方法将旨在Reflect对象上部署。也就...

2020-02-13 20:01:13 1015

原创 ES6 proxy(2)

proxy 概述proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程",即对编程语言进行编程。proxy可以理解为在目标对象前假设一个“拦截”层,外界对该对象的访问都必须先通过这层拦截,因此提供了一种机制可以对外界的访问进行过滤和改写。Proxy这个词的原意是代理,用在这里表示由他来“代理”某些操作,可以翻译为“代理器”.es6提供proxy构造函数,用于...

2020-02-12 19:25:16 237

原创 ES6 proxy即其常见实例解析以及proxy常用例子

1. proxy 概述proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程",即对编程语言进行编程。proxy可以理解为在目标对象前假设一个“拦截”层,外界对该对象的访问都必须先通过这层拦截,因此提供了一种机制可以对外界的访问进行过滤和改写。Proxy这个词的原意是代理,用在这里表示由他来“代理”某些操作,可以翻译为“代理器”.es6提供proxy构造函数...

2020-02-11 22:24:41 943

原创 数组对象的深拷贝和浅拷贝

1.什么是深拷贝和浅拷贝?因为javascript有原始值和引用值之分,所以当浅拷贝复制数组或者对象的时候就是复制的引用,这样复制后的两个值会相互影响,深拷贝则相当于重新开辟了一快内存去存储复制的值,两个不会互相影响。2.数组数组的浅拷贝 { let arr = [1,2,3,4,5]; let copyArr = arr; ...

2020-02-10 21:25:15 1234

原创 ES6 - iterator 和 for..of(详解)

1.iterator(遍历器)的概念javascript 原有的表示“集合”的数据结构主要是数组(Array)和对象(Object),ES6新增了Set和Map数据结构,用户可以组合使用它们,因此就需要一种统一的接口机制来处理所有不同的数据结构。iterator就产生,它是一种接口,为各种不同的数据结构提供统一的访问机制,然和数据结构只要部署iterator接口,就可以完成遍历操作。...

2020-02-08 23:37:09 228

原创 ES6 -Set和Map数据结构

Set数据结构1.set数据结构基本用法。ES6 提供了一个新的数据结构–set,它类似于数组,但是成员的值都是唯一的,没有重复。Set 本身是一个构造函数,用来生成Set数据结构 //1 const s = new Set(); [2,3,4,5,4,2,2].forEach(x => s.add(x)); for(let ...

2020-02-08 18:39:05 148

原创 ES6 -symbol基础

一:Symbol的基本概述ES5对象的属性都是字符串,这容易造成属性名的冲突。而ES6引入类型·Symbol就是从根本上防止属性名冲突。他是javascript的第七个原始数据类型。前六个分别为Undefined,Null,Object,String,Number.Bealean1.对象名可以用字符串或者symbol两种类型。而symbol类型唯一,不会和其他属性名发生冲突。 ...

2020-02-07 18:26:54 142

原创 vue -- axios(axios封装,baseURL的提取)

1.网络请求模块的选取我们在开发中一定会碰到很多的网络请求,因为前后端交互数据,基本都是从后台请求过来的,那么我们如何去选择网络请求的方式呢?vue中发送网络请求有许多的方式,那么在开发中,我们如何选择呢?1.选择传统的Ajax(基于XMLHttpRequest(XHR))缺点:1.配置和调用的方式非常混乱2.手写xhr可能会人为出现错误。或者封装的不够全面。3.所以开发中...

2020-02-05 23:53:40 12362 5

原创 Vue-router(重新复习)

1.什么是Vue-router?(运行时依赖 --save)安装vue-router使用 vue - router第一步: 导入路由对象,并且调用Vue.use(VueRouter) const router = new VueRouter({ mode: 'history', base: process.env.B...

2020-02-05 02:31:22 482

原创 ES6箭头函数绑定this

ES6明确指出,箭头函数this绑定的作用域为this所在的定义域内;这里我举几个例子简单说明一下:1 function Timer(){ this.s1 = 0; this.s2 = 0; setInterval(() => { this.s1 ++; }, 1000); ...

2020-02-03 22:32:26 341

原创 ES6遍历对象属性的方法

1.属性的数据特征1.ES5中每个对象的每一个属性都有一个相应的描述对象,用于控制这个属性的行为。每个对象都有四个数据特征。configurable 对象属性是否可重新定义作用:能否使用delete、能否需改属性特性、或能否修改访问器属性、,false为不可重新定义,默认值为trueenumerable 对象属性是否可枚举作用: 对象属性是否可通过for-in循环,flase...

2020-02-02 20:59:58 2310

原创 javascript 和 ES6中遍历数组的高阶函数(not for of while 循环)

ES5中的数组的遍历高阶函数————————————————————————————注意:这些函数都要通过callback回调使用,其中参数均为xxx中回调函数中的第一个参数为:当前正在遍历的元素xxx中回调函数中的第二个参数为:当前元素索引xxx中回调函数中的第三个参数为:原数组本身————————————————————————————1.forEach循环作用:fo...

2020-02-01 23:42:20 353

空空如也

空空如也

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

TA关注的人

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