我们知道地球和一些其他行星围绕着太阳旋转,也知道在一个原子中,有许多电子围绕着原子核旋转。可以大胆推测,一个电子中也包含了另一个宇宙,我们所熟知的银河系 也只是另一个浩大空间的组成部分..... 在程序设计中,组合模式就是用小的对象来构建更大的对象。 先来看一个简单的例子: 1.首先我们定义了一系列 ...
分类:
编程语言 时间:
2018-10-21 12:06:41
阅读次数:
217
JavaScript设计模式入坑 介绍 设计模式编写易于维护的代码。 设计模式的开创者是一位土木工程师。Σ( ° △ °|||)︴,写代码就是盖房子。 模式 模式一种可以复用的解决方案。解决软件设计中遇到的问题。 设计模式的结构 如何编写一个新的设计模式 一个设计模式将会产生如下的内容 模式名称 对 ...
分类:
编程语言 时间:
2018-10-19 00:06:39
阅读次数:
145
单例模式实例 (创建类模式): let elBalance = document.getElementById('balance') function init () { var a = new Division('.page.a') var b = new Dicision('.page.b') ...
分类:
编程语言 时间:
2018-10-15 00:42:16
阅读次数:
283
策略模式指定义一系列算法,将它们一个个封装起来。将不变的部分与变化的部分隔开是每个设计模式的主题,策略模式同样如此,策略模式的目的就是将算法的使用与算法的实现分离开来。 ...
分类:
编程语言 时间:
2018-09-29 16:49:13
阅读次数:
175
对于前端程序员来说闭包还是比较难以理解的, 闭包的形成与变量的作用域以及变量的生产周期密切相关,所以要先弄懂变量的作用域和生存周期。 1.变量作用域 变量的作用域,就是指变量的有效范围,通常我们指的作用域就是函数作用域(毕竟全局的作用域没有要指的意义,关键哪都能访问) 声明变量的时候推荐使用es6语 ...
分类:
编程语言 时间:
2018-09-24 17:17:22
阅读次数:
139
1.JavaScript中,所有函数(类)和部分原始数据类型(Number,String,Array,Function)具有prototype属性。 2.在类的prototype属性上设置的属性,所有实例共享。 3.实例可修改prototype上的属性。如果修改的是值类型,只是当前实例发生更改。如果 ...
分类:
编程语言 时间:
2018-09-19 22:38:00
阅读次数:
220
1.this的指向 除去不常用的with和eval,具体应用中this指向大概能分为4种情况分别是 1.作为对象的方法调用。 2.作为普通函数的方法调用。 3.Function.prototype.call或Function.prototype.appy 1.如果作为对象方法的调用,this是指向该 ...
分类:
移动开发 时间:
2018-09-16 15:53:51
阅读次数:
195
多态 多态的实际含义:同一操作作用与不同的对象上面,可以产生不同的解释和不同的执行结果,就是说,给不同的对象发送同一个消息 的时候,这些对象会根据这个消息分别给出不同的反馈 代码如下: 这段代码实现了多态性,当我们分别向鸭和鸡发出叫指令时候,他们根据消息做出了不同的反应 运行结果: 但是这个代码确不 ...
分类:
编程语言 时间:
2018-09-15 01:16:22
阅读次数:
176
动态语言类型与鸭子类型 此内容取自JavaScript设计模式与开发实践一书 编程语言按照数据类型大体可以分为2类,一类就是静态类型语言,另一类则是动态类型语言 静态类型语言也可以称之为编译语言,而动态类型语言则称可以之为解释型语言 JavaScript则属于动态类型语言他无需定义时候声明类型给实际 ...
分类:
编程语言 时间:
2018-09-15 00:39:00
阅读次数:
202
组合式继承:将类式继承同构造函数继承组合使用,但是存在一个问题,子类不是父类的实例,而子类的原型式父类的实例,所以才有了寄生组合式继承。 意思就是说,寄生就是寄生式继承,寄生式继承就是依托于原型继承,原型继承又与类式继承差不多,所以另外一种继承模式应该是构造函数继承。当然子类不是父类的实例的问题是由 ...
分类:
编程语言 时间:
2018-08-02 00:08:08
阅读次数:
143