javaScript 设计模式

面向对象编程(OOP)

面向对象编程是一种程序设计范型。 将对象作为程序的基本单元,将程序和数据封装其中,以提高程序的重用性、灵活性、扩展性。

1.对象封装
var ClassName = function(params){
     //私有属性, 仅特权方法能访问
     var private = xxx;
      //特权方法,访问修改私有属性
      this.getPrivate = function(){};
      this.setPrivate = function(){};
      //公有属性
      this.publicParams = yyy;
      //公有方法
      this.publicFunc = function(){};
}

通过this能访问的都属于公共属性,prototype 对象中的都可以通过this访问,所以通过prototype 扩展的都是公共属性。

创建对象的安全模式

安全模式可以让对象不必用new的方式调用

var ClassName = function(params){
    if(this instanceof ClassName){
      ....//执行代码
    }else{
      return new ClassName(params)
    }
}

2.继承

1.类式继承
2.构造函数继承
3.组合继承
4.原型式继承
5.寄生式继承
6.寄生组合式继承
7.多继承

3.多态

多态就是同一种方法多种调用方式。

function add(){
  var arg = arguments,
      len = arg.length;
 switch(len){
  case 0:
      return 10;
  case 1:
      return 10+arg[0];
  case 2;
      return arg[0]+arg[1];
  }
}

//add 多种调用方式
add()//10
add(5)//15
add(1,2)//3

未完待续……

你可能感兴趣的:(javaScript 设计模式)