标签:
工厂模式
function factorial(name,age){ var o=new Object(); o.name=name; o.age=age; o.sayName= function () { alert(this.name); }; return o; } var result=factorial("lily",25); result.sayName();
缺点:没有解决对象识别问题,即无法知道对象的类型
function Person(name,age){ this.name=name; this.age=age; this.sayName=function(){ alert(this.name); alert(this.age); } } var obj=new Person("lily",30);
function Person(){ } Person.prototype.name="lily"; Person.prototype.age="25"; Person.prototype.sayName=function(){ alert(this.name); alert(this.age); }; Person.prototype.friend=["lucy","fang"]; var newObj=new Person(); newObj.friend.push("newFriend"); var newObj02=new Person(); alert(newObj02.friend);
function MixedFunction(name,age){ this.name=name; this.age=age; } MixedFunction.prototype.sayName=function(){ alert(this.name); alert(this.age); }; var mixObj=new MixedFunction("lily",25); mixObj.sayName();
function DynamicFunction(name,age){ this.name=name; this.age=age; if(typeof this.sayName!="function"){ DynamicFunction.prototype.sayName=function(){ alert(this.name); alert(this.age); } } } var obj=new DynamicFunction("liy",25); obj.sayName();
function Person(name,age){ var o=new Object(); o.name=name; o.age=age; o.sayName=function(){ alert(o.name); }; return o; } var friend=new Person("lily",25); friend.sayName();
function Person(name,age){ var o=new Object(); o.sayName=function(){ alert(name); }; return o; } var friend=new Person("lily",25); friend.sayName();
标签:
原文地址:http://www.cnblogs.com/zhu1033527427/p/4435226.html