JavaScript使用伪造方式实现继承
2015-05-10 16:40
411 查看
<script> function Parent(name, age) { this.color = ["red", "blue"]; this.name = name; this.say = function () { alert(this.name + ',' + this.age); } } Parent(); /** * 使用伪造的方式就可以把子类的构造函数参数传递到父类中, *上面的方法say继承了下来,但是每个对象都一个say方法,占用内存过大。 * 需要使用组合的方式来解决。 */ function Child(name, age) { this.age = age; // 在Child中的this明显应该是指向Child的对象 // 当调用Parent方法的时候,而且this又是指向了Child // 此时就等于在这里完成了this.color = ['red','blue'] // 也就等于在Child中有了this.color属性,这样也就变相的完成了继承 Parent.call(this, name); // 这种调用方式,Parent的上下文是window对象,根本无法实现继承 // Parent(); } var c1 = new Child("jack", 35); c1.color.push("green"); // alert(c1.color); // alert(c1.name); // alert(c1.age); c1.say(); var c2 = new Child("Ann", 23); c2.color.push("black"); // alert(c2.color); // alert(c2.name); // alert(c2.age); c2.say(); </script>
相关文章推荐
- 基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
- 基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
- 使用混合方式实现javascript中对象的继承(推荐使用)
- javascript使用call方式实现对象继承
- JavaScript中实现继承的几种方式的使用和分析
- JavaScript中实现继承的几种方式的使用和分析
- JavaScript面向对象-基于函数伪造的方式实现继承
- javascript 原型链---继承方式怎么实现继承
- javascript 5种方式实现继承
- JavaScript面向对象-基于原型链和函数伪装组合的方式实现继承
- javascript实现继承的六种方式
- javascript实现继承的几种方式
- JavaScript是如何实现继承的(六种方式)
- js(javascript) 继承的5种实现方式
- JavaScript实现继承(六种方式)
- 实现JavaScript中继承的三种方式
- javaScript实现继承的5种方式
- 详述JavaScript实现继承的几种方式(推荐)
- 详述JavaScript实现继承的几种方式(推荐)
- JavaScript面向对象编程(继承实现方式)