![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js设计模式与开发实践
文章平均质量分 95
SunsCheung
Sharing is a virtue
展开
-
【学习笔记javascript设计模式与开发实践----1】
个人吐槽 读了不少的关于js的基础书箱,有必要在js的编码结构和编码效率上有所提高(个人资质很差,所以只代表个人观点。如有说的不对的,还请大神们见谅……),个人一直觉得,不会用设计模式不代表你就不是一个好的程序员,可能在编码的过程中,你已经不知不觉的用到一些模式,有好多人在面试的过程都会被问到各种设计模式的东西。如果被面试的人是背给你听的,那好吧……,中国的应试教育真的是很坑人啊!算啦回到正转载 2016-09-27 17:46:22 · 336 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(命令模式)----9】
第9章 命令模式 命令模式中的命令指的是一个执行某些特定事情的指令。 最常见的应用场景:有时候需要向某些对象发送请求,但又不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 9.2 命令模式的例子-----菜单程序 界面上有数十个按钮,因为项目比较复杂,所以我们决定让某个程序员负责转载 2016-10-08 17:23:07 · 269 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(发布--订阅模式)----8】
第8章 发布—订阅模式 发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生了改变时,所有依赖于它的对象都将得到通知。在JavaScript开发中,我们一般都用事件模型来替代传统的发布—订阅模式。 8.1 现实中的发布—订阅模式 不论是在程序世界里还是现实生活中,发布—订阅模式的应用都非常广泛。我们先看一下现实中的例子。 小明最近看上了一套转载 2016-10-08 17:18:59 · 516 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(迭代器模式)----7】
第7章 迭代器模式 迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素。 7.1 jQuery中的迭代器 迭代器模式无非就是循环访问聚合对象中的各个元素。比如jQuery中的$.each函数,其中回调函数中的参数i为转载 2016-10-08 17:14:32 · 216 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(代理模式)----6】
第6章代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 代理模式是一种非常有意义的模式,在生活中可以找到很多代理模式的场景。比如明星都有经济人作为代理。如果想请明星来办一场商业演出,只能联系他的经纪人,经纪人会把演出的细节和报酬都谈好之后,再把合同交给明星。 代理模式的关键是,当客户不方便直接访问一个对象或不满足需要的时候,提供一个替身对象来控制对这个转载 2016-10-08 17:13:54 · 372 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(策略模式)----5】
第5章策略模式 在程序设计中我们往往会遇到实现某一功能有多种方案可以选择。比如一个压缩算法,我们可以选择zip算法,也可以选择gzip算法。 这些算法灵活多样,而且可以随意互相替换。这种解决方案就是本章要讨论的策略模式。 定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 5.1 使用策略模式计算奖金 1. 最初的代码实现转载 2016-10-08 17:08:24 · 195 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(单例模式)----4】
第4章单例模式 单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器的window对象。在js开发中,单例模式的用途同样非常广泛。试想一下,当我们单击登录按钮的时候,页面中会出现一个登录框,而这个浮窗是唯一的,无论单击多少次登录按钮,这个浮窗只会被创建一次。因此这个登录浮窗就适合转载 2016-10-08 15:16:37 · 293 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(闭包和高阶函数)----3】
第3章 闭包和高阶函数 3.1 闭包 对于JavaScript程序员来说闭包(closure)是一个难懂又必须征服的概念。闭包的形成与变量的作用域以及变量的生存周期密切相关。(虽然前面写了好多遍了,但还是过一遍吧,不想看就跳过这一节) 3.1.1作用域 函数中用var声明的变量是只有在函数内部访问得到,函数外部访问不到的。在javascript中,函数可以用来创造函数作用域转载 2016-09-29 16:04:38 · 439 阅读 · 0 评论 -
Javascript闭包的几种写法及用途
一、什么是闭包和闭包的几种写法和用法 1、什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。转载 2016-09-28 15:15:43 · 444 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(this、call和apply)----2】
第2章this、call和apply 跟别的语言大相径庭的是,javascript的this总是指向一个对象,而具体指向哪个对象是运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。 this的指向 除去不常用的with和eval的情况,具体到实际应用中,this的指向大致可以分为以下4种 o 作为对象的方法调用 o 作为普通函数调用 o 构造器调转载 2016-09-28 09:51:56 · 300 阅读 · 0 评论 -
【学习笔记javascript设计模式与开发实践(组合模式)----10】
第10章 组合模式 在程序设计中,也有一些和“事物是由相似的子事物构成”类似的思想。组合模式就是肜小的子对象来构建更大的对象,而这些小的子对象本身也许是由更小的“孙对象”构成的。 10.1 回顾宏命令 我们在第9章命令模式中讲解过宏命令的结构和作用。宏命令对象包含了一组个体的子命令对象,不管是宏命令对象,还是子命令对象,都有一个execute方法负责执行命令。现在回顾下这段安装在转载 2016-10-08 17:23:46 · 411 阅读 · 0 评论