1.對象冒充
<script type="text/javascript">function Parent(name){this.name=name;this.sayHello = function (){alert(this.name+" hello");}} function Child(name,sex){this.method = Parent;this.method(name);delete this.methodthis.sex = sex; this.sayHi=function(){alert(this.sex+" hi");}}var aa = new Child("小明","male");aa.sayHi();aa.sayHello();</script>
2.call調用
script type="text/javascript">function Parent(name){this.name=name;this.sayHello = function (){alert(this.name+" hello");}} function Child(name,sex){Parent.call(this,name);this.sex=sex;this.sayHi=function(){alert(this.sex+"hi");}}var child = new Child("xiaoming","male");child.sayHello();child.sayHi();</script>
3 apply
<script type="text/javascript">function Parent(name){this.name=name;this.sayHello = function (){alert(this.name+" hello");}} function Child(name,sex){Parent.apply(this,new Array(name));this.sex=sex;this.sayHi=function(){alert(this.sex+"hi");}}var child = new Child("xiaoming","male");child.sayHello();child.sayHi();</script>
4.原型方式
<script type="text/javascript">function Parent(name){this.name=name;} Parent.prototype.sayHello=function(){alert(this.name);}function Child(name,sex){Parent.call(this,name);this.sex=sex;}Child.prototype = new Parent();Child.prototype.sayHi=function(){alert(this.sex+"hi");}var child = new Child("xiaoming","male");child.sayHello();child.sayHi();</script>