javascript继承方法(二)
2017-09-19 15:36
302 查看
三,组合继承
function SuperType(name) { this.name = name; this.color = ['yellow','black','green']; } SuperType.prototype.sayName = function () { console.log(this.name); }; function SubType(name,age) { //构造函数继承SuperType 的属性 SuperType.call(this,name); this.age = age; } //原型继承了SuperType的属性和方法包括原型里的方法和属性 SubType.prototype = new SuperType(); SubType.prototype.sayAge = function () { console.log(this.age) }; var s = new SubType("jiang",20); s.color.push("red"); console.log(s.color); s.sayName(); s.sayAge(); var s1 = new SubType("jiang1",21); console.log(s1.color); s1.sayName(); s1.sayAge();运行结果:
[ 'yellow', 'black', 'green', 'red' ]
jiang
20
[ 'yellow', 'black', 'green' ]
jiang1
21
四,寄生式继承
function createAnother(original){ var clone = Object(original); //通过函数创建一个继承对象 clone.saySomething = function () { console.log("what"); }; return clone; } var person ={ name : 'Dived', age : 29 }; var p1 = createAnother(person); console.log(p1.name); console.log(p1.age); p1.saySomething();运行结果:
Dived
29
what
寄生式继承式创建一个封装继承过程的函数,该函数以某种方式增强对象,最后返回这个继承对象
相关文章推荐
- javascript 继承实现方法
- javascript 继承实现方法
- 发现一种JavaScript“类的继承”的方法
- javascript面向对象继承的三种方法
- JavaScript面向对象继承方法
- javascript:类,成员变量,成员函数,类变量,类方法,继承,多态
- Javascript中继承的实现方法
- Javascript中的继承机制2------call()方法
- 由JavaScript中call()方法引发的对面向对象继承机制call的思考
- javascript 实现继承的不同方法
- JavaScript中继承的主要方法
- javascript的函数、创建对象、封装、属性和方法、继承
- javascript继承的几种方法
- 利用javascript的prototype的继承来写自定义MAP的remove方法
- JavaScript 继承的方法总结
- 【深入JavaScript】一种JS的继承方法
- JavaScript对象继承方法
- javascript实现继承的方法
- Atitit.实现继承的原理and方法java javascript .net c# php ...