<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script> //打印函数 var _=function(o){ document.write(o+"<br/>"); } //打印数组的函数 var _a=function(arr){ for(var t in arr) _(arr[t]); } //对象定义方法2 function Stu(id,name){ this.id=id; this.name=name; this.getName=function(){ return this.name; } } //定义子类,大学生 function BigStu(id,name) { this.id=id; this.name=name; } //继承方式1,prototype BigStu.prototype=new Stu(1,""); //初始化大学生 var bs=new BigStu(1,"陈新"); _(bs.name); _(bs.getName()); //继承方式2,call function LittleStu(id,name) { Stu.call(this,id,name); } //调用 var ls=new LittleStu(2,'余意'); _(ls.name); _(ls.getName()); //继承方式3,apply function PrimaryStu(id,name) { Stu.apply(this,arguments); } //调用 var ps=new PrimaryStu(3,'小余意'); _(ps.name); _(ps.getName()); //继承方式4,最古老的的写法。冒充法 function OldStu(id,name) { this.Stu=Stu;//对象冒充当前类的属性 this.Stu(1,"老余意")//给冒充的父类初始化.其实就是实例化 delete this.Stu; } //调用 var os=new OldStu(3,'老余意'); _(os.name); _(os.getName()); </script> </HEAD> <BODY> </BODY> </HTML>