JavaScript设计模式之职责链模式

概述 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。顾名思义。 生活场景 公交车,后门上车的传递自己的卡或者前给前面的人。 实例 var order500 = function (orderType, pay, stock) { if (orderType === 1 && pay === true) { console.log (`%c--500-- `, 'color:blue;font-weight...

适配器模式

适配器模式 适配器模式的作用是解决两个软件实体间的接口不兼容的问题。 生活中的例子: 插头转换器、电源适配器、USB转接口等。 适配器模式是一种“亡羊补牢”的模式,很少在程序设计之初就使用。 代码 var baiduMap=function(){ show:function(){ console.log('百度地图') } }//多个此类函数如腾讯、高德、谷歌等 //某天,谷歌地图提供的不叫show方法了(第三方接口方法...

迭代器模式

循环访问聚合对象中的各个元素 。 var each=function(arr,callback){ for(var i=0,l=arr.length;i<l;i++){ callback(arr[i],i,arr[i]); }}each([1,2,3],function(i,n){ alert([i,n]);}); 内部迭代器 内部已经定义好规则 外部迭代器 外部迭代器必须显式地请求迭代下一个元素  for in 语句可以用来迭代普通字面量对象的属性。 中止迭代器 var each = function( ary, callback ){ ...

javascript设计模式之——工厂模式

创建(相似)对象。 // 工厂模式// 简单工厂模式var Footbal= function(){ this.info='足球';}Footbal.prototype={ getNum:function () { console.log('11ren'); }}var Basketbal= function(){ this.info='足球';}Footbal.prototype={ getNum:function () { console.log('5人'); }}var SportFactory=function(name){ switch(name){ case 'NBA': return...

javascript设计模式之——单例模式/单体模式

只允许实例化一次的对象类,有时用一个对象来规划一个命名空间,有序管理对象上的属性与方法。 最常见的一种设计模式。jQuery。 命名空间来约束每个人定义的变量。 另外一个作用: 管理代码库的各个模块。可以创建自己的代码库。 管理静态变量: 静态变量 只能访问不能修改并且无创建后就可以使用。 // 原来的代码 function gId(id){ return document.getElementById(id); } function css(id,key,value)...