日期:2014-05-16  浏览次数:20388 次

javascript 创建对象的几种方法
1.已有对象扩充自己的对象
var object = new Object();
object.name="guohao";
object.sayName = function(name) {
           this.name = name;
           alert(this.name);
}
缺点:一次只能创建出一个对象,不能产生创建对象的一个模板
2.工厂方式创建对象
function createObject(name,password) {
      var object = new Object();
      object.name=name;
      object.password=password;
      object.getName=function()
          return this.name;
      }
      object.getPassword=function() {
          return this.password;
      }
      return object;  
}
var o1 =createObject("zhangsoan","123");
var o2 = createObject("lis","134");
缺点:这种写法生成每个对象都有一份方法,浪费内存
3.构造函数方式
function object(name,password) {

    new Object();
    this.name = name;
    this.password = password;
    this.getName = function() {
        return this.name;
}
    this.getPassword = function() {

        return this.password;
    }
  
}
var o1 = new object("zhangsan",134);
var  o2 = new object("lisi",466);
4.原型构造方式
function Person() {

}

Person.prototype.name="zhangsona";
Person.prototype.password="123";
Person.prototype.getInfo=function() {
       alert(this.name+this.password);
}
var p1 = new Person();
p1.name="lisi";
var p2 = new Person();
缺点:1.不能传参数为属性赋初值2.所有的对象共用一个引用类型的数据