前端常见的设计模式

工厂模式

将方法属性单独定义,避免重复创建,将公共的属性定义到一个函数中,可以重复使用。

  var skill=function(){
    return 'ada';
}
  function  CreatePerson(name,age,gender){
      var obj={};
      obj.name=name;
      obj.age=age;
      obj.gender=gender;
      obj.skill=skill;
      return obj;
}
var p1=CreatePerson('ll',12,'nv');
alert(p1.skill());

构造函数模式

var skill=function(){return 'ada';};
    function CreatePerson(name,age,gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
        this.skill=skill;
    } 
 var p2=new CreatePerson('ll',12,'女');
    alert(p2.name);
    alert(p2.skill());

注意:构造函数模式在实例化的时候要使用New操作符

构造函数和原型的混合方式

将公共属性放在原型上,私有属性放进构造函数中,

    function Person(){
        this.name='ll';
        this.age=12;
    };
    Person.prototype.skill=function(){
        return 'ada';
    };
    var x=new Person();
    alert(x.skill());

构造函数和原型的动态原型模式

    function Person(){
        this.name='ll';
        this.age=32;
        if(typeof Parent.skill=='undefined'){
            Person.prototype.skill=function(){
                returin this.name;
            }
            Person.skill=true;
        }
    };
    var x=new Person();

你可能感兴趣的:(前端常见的设计模式)