所谓简单工厂模式就是由一个方法来决定到底要创建那个类的实例,而这些实例经常都拥有相同的接口。简单工厂模式主要运用一下几种情况(添加个人理解) 1、对象的构建有规律性,大部分相同只有个别不同,重复代码多 2、需要依赖具体环境创建不同的实例 3、处理大量具有相同属性的小对象具体我们来看一个小例子: 大家... ...
分类:
编程语言 时间:
2016-10-04 07:31:03
阅读次数:
268
在Javascript中每个类有三个部分: 1、第一部分是构造函数内,这是供实例化对象复制用的。 2、第二部分是构造函数外,通过点语法添加的,这是供类使用的,实例化对象是访问不到的。 3、第三部分是类的原型中,实例化对象可以通过其原型链间接访问到,也是为供所有实例化对象所共用的。一、 子类的原型对象... ...
分类:
编程语言 时间:
2016-10-01 19:32:04
阅读次数:
185
this this总是指向一个对象,有四种情况1. 作为对象的方法调用。2. 作为普通函数调用。3. 构造器调用。4. Function.prototype.call 或Function.prototype.apply 调用。 1. 作为对象的方法调用 当函数作为对象的方法被调用时,this 指向该 ...
分类:
编程语言 时间:
2016-09-30 12:20:40
阅读次数:
232
为了避免全局变量被污染,可采用加命名空间和闭包封装方式进行私有化。 一、使用命名空间 将某个变量变成某个命名空间下私有变量 上述等价于 这样就定义了MyApp命名空间下的两个属性event和dom. 二、使用闭包 将name和age属性封装起来,外部无法访问。 ...
分类:
编程语言 时间:
2016-09-29 01:49:02
阅读次数:
98
在JS中可以使用代理来实现单例模式。如创建唯一DIV的场景: 通过代理ProxySingleCreateDiv实现了创建唯一Div。它的好处就是创建Div的函数CreateDiv并不需要管是否曾经创建过该对象,一切业务逻辑交给代理来处理。 模拟这样的场景,如果创建Div的时候不是页面加载的时候预先创 ...
分类:
编程语言 时间:
2016-09-29 01:12:55
阅读次数:
155
动态类型语言和静态类型语言的区别 根据数据类型的区别划分,静态语言在编译时已经确定变量的类型,动态语言在程序运行时,变量被赋予某个值之后,才具有某种类型。 静态语言在实际开发中为什么比动态语言繁琐 静态语言在编译时要进行类型检测,也就是说函数之类只能定好接收什么类型的变量。为了实现多态,可能的取值须 ...
分类:
编程语言 时间:
2016-09-27 19:16:16
阅读次数:
186
1. js面向对象6种形式(详情) <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> // 1. 基于object的对象 var person= ...
分类:
编程语言 时间:
2016-09-26 14:45:36
阅读次数:
128
1.单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 3.代理模式:为一个对象提供一个代用品或占位符,以便控制对它的访问。 4.迭代模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象 ...
分类:
编程语言 时间:
2016-09-25 14:39:50
阅读次数:
165
观察者模式又称发布/订阅模式 publish/subscribe 它是一种一对多的关系,让多个观察者对象同时监听某一主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得他们能够自动更新自己。 测试一下: ...
分类:
编程语言 时间:
2016-09-22 19:47:46
阅读次数:
176