摘要: 前面我们一共介绍了四种方法用来封装对象(工厂,构造模式,原型模式,构造+原型),并且重点对构造函数+原型模式做了一些改进,使之更加完美,那么除了这几种方法, 还有两种方式用来封装对象,还是那句话,选择适合自己的(其实每种方法都各有利弊,在我刚开始学习时总感觉就是拆东墙补西墙)。 首先来看第一种方法 阅读全文
posted @ 2016-06-02 21:14 Sakura_大表哥 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 这咋还没完没了呢?我们之前使用原型+构造函数混合模式创建对象时是这样子写的 很明显的一个问题就是,这段代码创建的对象似乎没有我们想象中那么完美,Person.prototype写在了构造函数外面,这样看起来很别扭,我们说封装,这咋没封到一块,咋还分道扬镳了? 那么我就想应该写成这样才对吧 是不是很完 阅读全文
posted @ 2016-06-02 20:35 Sakura_大表哥 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 上一节说到,我们使用原型+构造函数混合的方式创建了一个对象,这个对象很好的区分了实例对象的私有属性和它们的共享属性,代码是这样的 那么问题又来了,当我们需要在Person类的原型上添加更多的属性和方法时,就不可避免的要一遍又一遍的重写Person.prototype.XXX=XXX 很显然我们是不愿 阅读全文
posted @ 2016-06-02 13:59 Sakura_大表哥 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 当我们创建一个函数时,这个函数都会有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象包含了特定类型的所有实例共享的属性和方法 就象这样 仔细观察我们可以发现,数组对象Array的prototype属性指向一个对象,而这个对象包含了很多属性和方法,其中就有我们常见的len 阅读全文
posted @ 2016-06-02 10:15 Sakura_大表哥 阅读(518) 评论(0) 推荐(2) 编辑