摘要: 函数表达式 函数表达式的特征 声明方式: 1> 函数声明 2> 函数表达式 函数声明如下: 表达式声明 第一种方式:关于函数声明主要是:函数声明提升,意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的后面。 第二种方式:表达式声明,在这种情况下创建函数叫做匿名函数,因为fun 阅读全文
posted @ 2016-06-25 22:36 czhyuwj 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 创建对象方式: 工厂模式:使用简单的函数创建对象,为对象添加属性和方法,然后返回对象; 构造函数模式: 原型模式: 优点是属性函数共用;缺点:<1> 省略了构造函数的传参,生成所有实例在默认情况下都取得相同的属性值。<2> 最大问题还是其共用本质引起来的 组合使用构造函数模式和原型模式 动态原型模式 阅读全文
posted @ 2016-06-25 20:55 czhyuwj 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 组合继承在前面有说过,也是JavaScript中最常用的一个继承模式;不过,它也有自己的不足。组合继承最大的问题就是无论什么情况,都会调用两次构造函数: 那我们来回顾下组合式继承基本模式: 上面红色标识的是调用构造函数的地方,在第一次调用SuperType 函数时,SubType.prototype 阅读全文
posted @ 2016-06-25 18:24 czhyuwj 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 寄生式继承 寄生式继承是于原型式继承紧密相关的一种思路。寄生式基础的思路与寄生构造函数和工厂模式类似,既创建一个仅用于封装继承过程的函数,该函数内部以某种方式来增强对象,最后再像真地是它做了所有工作一样返回对象。 以下代码示范了寄生式继承模式。 function object(o){ functio 阅读全文
posted @ 2016-06-25 17:05 czhyuwj 阅读(2961) 评论(2) 推荐(0) 编辑
摘要: 思想:借助原型可以基于已有的对象创建新对象,同时还不必因此创建自定义类型。为了达到这个目的,看看下面的实现方式 在上面的代码段中主要做了哪些事情尼? 创建了一个临时的构造函数,同时把传入参数作为临时构造函数的原型,最后返回一个临时构造函数的实例;从本质上来讲,object 对传入其中的对象执行了一次 阅读全文
posted @ 2016-06-25 16:29 czhyuwj 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 继承 实现继承:继承实际的方法。ECMAScript 只支持实现继承,而且其实现基础主要是依靠原型链来实现的。 基本思想是:利用原型来实现一个引用类型继承另外一个引用类型的属性和方法。 原型 - 构造函数 - 实例 之间的关系 构造函数(prototype) < > 原型(constructor) 阅读全文
posted @ 2016-06-25 13:33 czhyuwj 阅读(205) 评论(0) 推荐(0) 编辑