总结js面向对象调用的几种模式

  一、工厂模式:类似于function func(A,B){  var obj=new Object(); obj.A=A; obj.B=B; return obj;}; var obts=func('name','ages');

  二、构造函数模式:可用于构造特定类型的对象 function createObj(A,B){ this.A=A; this.B=B; this.func=function() {alert(this.B); } }  var obts=new createObj('name', 'ages');使用new来创建对象,函数中不需要return;这种模式对于需要创建多个对象的情况下需要多次调用相同的函数;

  三、原型模式:创建的每个对象都有prototype属性,该属性是一个指针,指向一个对象,作用是包含所有实例对象的属性和方法,实例对象属性和方法共享类似于继承;

    function func(A,B){  func.prototype.A=A; func.prototype.B=B; func.prototype.create=function(){ alert(1);} } var func1=new func(); 所有原型对象共用导致其中一个实例修改属性,其他的实例也会跟着修改;

  四、混合模式(原型+构造):function func(A,B){ this.A=A; this.B=B} func.prototype.create=function(){alert(1);};这样可以实现每个实例对象都有自己的属性,而方法则实现了共用;