玩笑过后

导航

随笔分类 -  原型

寄生组合式继承
摘要:实例1: 这个是利用call()和SuperType.prototype.constructor = SubType;//把上边的两个函数合并函数公用一个构造函数 阅读全文

posted @ 2018-07-08 18:07 玩笑过后 阅读(101) 评论(0) 推荐(0)

寄生式继承
摘要:实例1: 使用寄生式继承来为对象添加函数,会由于不能做到函数服用而减低效率;这一点与构造函数模式类似; object();只要传进去的是一个对象,就会返回相同的引用 阅读全文

posted @ 2018-07-08 15:41 玩笑过后 阅读(104) 评论(0) 推荐(0)

原型式继承
摘要:实例1: 借助原型可以基于已有的对象创建新的对象; 但是P1和P2是两个独立的对象,原型是一样的; 阅读全文

posted @ 2018-07-07 16:11 玩笑过后 阅读(88) 评论(0) 推荐(0)

寄生构造函数模式
摘要:借用values对象完成构造函数,返回的对象和构造函数或构造函数的原型没有关系,所以instanceof()函数不能确定对象类型,所以这种模式不要使用 阅读全文

posted @ 2018-07-06 20:06 玩笑过后 阅读(116) 评论(0) 推荐(0)

动态原型模式
摘要:上边和下边不一样,下边会断开以前的原型的指针,因为{}就是一个对象 阅读全文

posted @ 2018-07-06 19:35 玩笑过后 阅读(102) 评论(0) 推荐(0)

原型一些小问题
摘要:function Person(){ this.name = 'zhangsan'; Person.prototype = { age:23, job:'worke' } };var P1 = new Person();console.log(P1); 阅读全文

posted @ 2018-07-05 18:34 玩笑过后 阅读(65) 评论(0) 推荐(0)

js之create()
摘要:语法: 返回一个新的对象的指针 proto:对象会被作为新创建的对象的原型 [propertiesObject]:对象,自定义的一些自己的属性; 实例1: 阅读全文

posted @ 2018-07-02 15:06 玩笑过后 阅读(548) 评论(0) 推荐(0)

原型问题3—构造函数返回对象
摘要:这个是讲得构造函数返回值得问题: 如果存在返回值则检查其返回值是否为引用类型,如果为非引用类型,如(string,number,boolean,null,undefined),上述几种类型的情况与没有返回值的情况相同,实际返回实例化的对象 所以构造函数P返回了一个引用值,所以改变了原有的引用指向; 阅读全文

posted @ 2018-06-28 23:14 玩笑过后 阅读(194) 评论(0) 推荐(0)

继承方法-->最终模式
摘要:function F(){}; 中间函数 F.prototype = Origin.prototype; Targrt.prototype = new F();或者 类似的方法:原型继承 闭包形式 阅读全文

posted @ 2018-06-27 16:47 玩笑过后 阅读(150) 评论(0) 推荐(0)

继承方法-->原型的相互引用
摘要:由于prototype指向到同一个对象,所以无论谁改变了内在属性, 都会统一改变; 不能保持对象原型的独立性 阅读全文

posted @ 2018-06-27 16:30 玩笑过后 阅读(114) 评论(0) 推荐(0)

继承方法-->call继承
摘要:缺点: 每一次继承都要调用两个函数 而且不能继承Person的原型内的属性和方法 阅读全文

posted @ 2018-06-27 16:05 玩笑过后 阅读(112) 评论(0) 推荐(0)

继承方法-->一级一级继承
摘要:缺点没有必要的属性也一并继承了 阅读全文

posted @ 2018-06-27 15:50 玩笑过后 阅读(130) 评论(0) 推荐(0)

原型问题2—原型对象的替换
摘要:Cat.prototype为什么会失效: 因为{}是一个新的对象,所以Cat.prototype的旧原型链就会断掉 阅读全文

posted @ 2018-06-27 12:39 玩笑过后 阅读(140) 评论(0) 推荐(0)

原型问题1—原型对象的替换
摘要:为什么cat1.shout会找不到因为: Cat.prototype.shout = function(){ console.log(this.vioce); } 已经为Cat.prototype 指向了一个对象{ shout = function(){ console.log(this.vioce 阅读全文

posted @ 2018-06-27 11:57 玩笑过后 阅读(215) 评论(0) 推荐(0)

js继承——扩展Object方式实现继承
摘要:因为给原型链的的顶端添加方法,所以所有的对象都会添加此属性和方法 阅读全文

posted @ 2018-06-25 12:46 玩笑过后 阅读(174) 评论(0) 推荐(0)

构造函数的prototype和constructor属性
摘要:Car为构造函数; prototype为Car构造函数的一个属性(一个对象),为了创建共有的属性和方法; 但是构造函数不能更改原型内属性和方法,必须调用Car.prototype进行修改 Car.constructor会返回构造函数 阅读全文

posted @ 2018-06-21 15:50 玩笑过后 阅读(485) 评论(0) 推荐(0)