Javascript 创建对象的三种方式
function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; obj.showName=function () { alert('我的名字叫:'+this.name); }; obj.showQQ=function () { alert('我的QQ号:'+this.qq); }; //返回对象 return obj; } var obj=createPerson('infoo', '333333'); var obj2=createPerson('infoo', '222222'); alert(obj.showName==obj2.showName);//两者不等,资源浪费
function CreatePerson(name, qq) //构造函数,常用的 { this.name=name; this.qq=qq; } CreatePerson.prototype.showName=function () //原型 { alert('我的名字叫:'+this.name); }; CreatePerson.prototype.showQQ=function () { alert('我的QQ号:'+this.qq); }; var obj=new CreatePerson('infoo', '123'); var obj2=new CreatePerson('infoo', '123'); alert(obj.showName==obj2.showName);//相等
var json={ name: 'infoo', qq: '123', showName: function () { alert('我的名字叫:'+this.name); }, showQQ: function () { alert('我的QQ号是:'+this.qq); } }; json.showName(); json.showQQ();
By Ginfoo