自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表

js数据结构中的链表/** * Created by Administrator on 2016/12/9. */function Node(element) { this.element=element; this.next=null;}/*LList 类提供了对链表进行操作的方法。该类的功能包括插入删除节点、在列表中查找给定的值。该类也有一个构造函数,链表只有一个属性,

2016-12-09 20:42:06 362

原创 队列

js数据结构中的队列队列的两种主要操作是:向队列中插入新元素和删除队列中的元素。插入操作也叫做入队,删除操作也叫做出队。入队操作在队尾插入新元素,出队操作删除队头的元素。队列的另外一项重要操作是读取队头的元素。这个操作叫做 peek() 。该操作返回队头元素,但不把它从队列中删除。除了读取队头元素,我们还想知道队列中存储了多少元素,可以使用 length 属性满足该需求;要想清空队列中的所有元素,可

2016-12-09 15:53:47 293

原创

js数据结构中的栈栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。咖啡厅内的一摞盘子是现实世界中常见的栈的例子。只能从最上面取盘子,盘子洗净后,也只能摞在这一摞盘子的最上面。栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构。由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问。为了得到栈底的元素,必须先拿掉上面的元素。对栈的两种主要操作是将一

2016-12-09 11:50:36 287

原创 列表

js数据结构中的列表function List() { this.listSize = 0;//列表的元素个数 this.pos = 0;//列表的当前位置 this.dataStore = []; // 初始化一个空数组来保存列表元素 this.clear = clear; this.find = find; this.toString = toS

2016-12-09 10:53:24 309

原创 js之模板方法模式

模板方法模式的定义和组成:模板方法模式是一种只需使用继承就可以实现的非常简单的模式。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封装子类中所有方法的执行顺 序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。假如我们有一些平行的子类,各个子类之间有一些相同的行为,也有一些不同

2016-12-03 21:37:27 607

原创 js之组合模式

在命令模式学习完的基础上:更强大的宏命令<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <button id="button">按我</button> <script> var MacroCommand

2016-12-03 20:36:06 2584 1

原创 js之命令模式

假设有一个快餐店,而我是该餐厅的点餐服务员,那么我一天的工作应该是这样的:当某位客人点餐或者打来订餐电话后,我会把他的需求都写在清单上,然后交给厨房,客人不用关心是哪些厨师帮他炒菜。我们餐厅还可以满足客人需要的定时服务,比如客人可能当前正在回家的路上,要求 1个小时后才开始炒他的菜,只要订单还在,厨师就不会忘记。客人也可以很方便地打 电话来撤销订单。另外如果有太多的客人点餐,厨房可以按照订单的顺序

2016-12-03 13:34:35 1986

原创 js之职责链模式

职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象能处理它为止。 职责链模式的名字非常形象,一系列可能会处理请求的对象被连接成一条链,请求在这些对象之间依次传递,直到遇到一个可以处理它的对象,我们把这些对象称为链中的节点。level01:假设我们负责一个售卖手机的电商网站,经过分别交纳 500元定

2016-12-03 11:20:09 863

原创 js之发布 — 订阅模式

有人发布信息有人“订阅”信息并进行处理。DOM事件document.body.addEventListener( 'click', function(){ alert(2);}, false );document.body.click(); // 模拟用户点击售楼处level01售楼处发布楼盘信息,订阅者订阅(即把你需要的行为存入售楼处)这些信息。<!DOCTYPE html><htm

2016-12-03 09:47:24 1794

原创 js之中介模式

购买商品假设我们正在编写一个手机购买的页面,在购买流程中,可以选择手机的颜色以及输入购买数量,同时页面中有两个展示区域,分别向用户展示刚刚选择好的颜色和数量。还有一个按钮动 态显示下一步的操作,我们需要查询该颜色手机对应的库存,如果库存数量少于这次的购买数量,按钮将被禁用并且显示库存不足,反之按钮可以点击并且显示放入购物车。<!DOCTYPE html><html lang="en"><hea

2016-12-02 22:07:57 430

原创 OO创建对象

工厂模式<!DOCTYPE html><html><head> <title>Factory Pattern Example</title> <script type="text/javascript"> function createPerson(name, age, job){ var o = new Object();//创建

2016-12-02 20:50:33 362

原创 OO理解对象

JavaScript中的对象定义:无序属性的集合,其属性可以包含基本值、对象或者函数。严格的讲,这就相当于对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每一个名字都映射到一个值。正因为这样,我们可以把JavaScript的对象想象成散列表;无非就是一组名值对,其中值可以是数据或者函数。理解对象创建自定义对象的最简单方式:<!DOCTYPE html><html><head>

2016-12-02 19:40:57 394

原创 js之状态模式

状态模式level01:电灯程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> var Light = function(){ this.state = 'off'; /

2016-12-02 15:21:53 1997

原创 js之装饰者模式

装饰者模式在程序开发中,许多时候都并不希望某个类天生就非常庞大,一次性包含许多职责。那么我们就可以使用装饰者模式。装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。level01:模拟传统面向对象语言的装饰者模式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title

2016-12-02 09:26:17 257

原创 js之适配器模式

适配器模式适配器模式的应用level01:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> var googleMap = { show: function(){

2016-12-01 22:37:35 781

原创 js之迭代器模式

迭代器模式迭代器模式是指:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。实现自己的迭代器现在我们来自己实现一个 each 函数, each 函数接受 2 个参数,第一个为被循环的数组,第二个为循环的每一步后将被触发的回调函数:<!DOCTYP

2016-12-01 22:28:50 1051 1

原创 js之代理模式

代理模式小明追 MM 的故事level01:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> var Flower = function(){}; var xiaoming = { sen

2016-12-01 22:06:34 2034

原创 js之策略模式

策略模式计算奖金level01:最初的代码实现<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> var calculateBonus = function (performanceLevel,sa

2016-12-01 21:05:23 429 1

空空如也

空空如也

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

TA关注的人

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