//构造函数添加属性 function Person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; this.common="公用"; } //原型添加方法 Person.prototype={ constructor:Person,//用字变量 talk:function(){ alert(this.name+"说话"); }, high:188,//原型的属性具有共享性:基本属性共享内容,引用属性共享引用指针 friends:['a','b'] } //通过构造函数继承属性 function Man(name,age,profession){ Person.call(this,name,age,'男'); this.profession=profession; } Man.prototype=new Person();//继承原型里的属性和方法 //扩展方法(不能用字变量形式) Man.prototype.say=function(){ alert('say'+this.profession); } function test(){ var m= new Man('zhf',22,'学生'); console.log(m); m.talk(); m.say(); } //测试js对象构建 function main(){ var p = new Person('张三',11,'男'); var p2 = new Person('王五',11,'男'); p.talk(); p2.talk(); alert(p.constructor); p.common="私用"; alert(p.common); alert(p2.common); p.high=11; alert(p.high); alert(p2.high); p.friends.push('c'); alert(p.friends); alert(p2.friends); } //main(); test();