Class.create

1,Class.create()是js中prototype.js中一个为空类来创造构造函数,原prototype.js中的源代码:
如:var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}


this.initialize.apply(object,arguments)是表示执行object的initialize方法,initialize方法的参数为argument,参数数组。
2 通过Class.create()来为空来创造一个空的构造函数,
如:var Person=Class.create();
这样就为Person创造了一个空的类。只有构造函数。
这样每次通过new Person()来创造类的对象时,每次都执行该构造函数。


3,通过prototype,为类增加方法或属性或继承一个类
如:Person.prototype={
initialize:function(value,name,data){
this.value=value;
this.name=name;
this.data=data;
},
getValue:function(){
return this.value;
},
getName:function(){
return this.name;
},
getData:function(){
return this.data;
}
};
为Person来继承一个类。该类的写法是类似json形式的写法。也是正确的。这样Person就集成了这个类中的方法。
这样每次通过new Person()来创造对象时,都执行了构造函数,这样也就执行了initialize方法。
4,正常的通过new Person()来创造对象,然后通过对象来调用方法即可。
如:var person=new Person("xclsky","key",{"flag":true});
  alert(person.getValue());
  alert(person.getName());
  alert(person.getData().flag);
这些参数,通过调用构造函数中的this.initialize.apply(this, arguments);参数都放在arguments,调用initialize方法。initialize的方法参数就是arguments(参数数组)

你可能感兴趣的:(Class.create)