面向对象       

###面向对象

在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称”实例”)共有的属性和方法

####javascript

Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class

Javascript语言不支持”类”,但是可以用一些变通的方法,模拟出”类”。 一、构造函数法

它用构造函数模拟”类”,在其内部用this关键字指代实例对象

function Cat() {
	this.name = "大毛";
}


var cat1 = new Cat();
alert(cat1.name); // 大毛

二、Object.create()法

var Cat = {
    name: "大毛",
    makeSound: function(){ alert("喵喵喵"); }
  };
var cat1 = Object.create(Cat);
alert(cat1.name); // 大毛
cat1.makeSound(); // 喵喵喵

三、极简主义法

  var Cat = {
    createNew: function(){
      var cat = {};
      cat.name = "大毛";
      cat.makeSound = function(){ alert("喵喵喵"); };
      return cat;
    }
  };
  var cat1 = Cat.createNew();
  cat1.makeSound(); // 喵喵喵