5.25面向对象思想 原型

面向对象编程原型

函数式编程

var testA = document.querySelector('.testA');
testA.onmousemove = function() {

}

testA.onmouseout = function() {

}

面向对象编程

var obj = {
  //var that = this;
  bind: function() {
    this.testA = document.querySelectot(".testA");
    this.mouseMove();
    this.mouseOut();
  }
  mouseMove: function() {
    this.testA.onmousemove = function() {
    }
   }
   mouseOut: function() {
     this.testA.onmouseout = function() {

    }
  }
}

window.onload = function() {
  obj.bind();
}

面向对象编程对比于函数式编程:封装性,扩展性,复用性更高。可以将功能进行更加细致的划分,使功能更加公共化,复用的效果越好

原型

对象分两种:普通对象 object和 函数对象 function

普通对象

var obj = {} //普通对象
function Person() {} //函数对象
var person = new Person()//普通对象(实例化后是普通对象)

prototype是函数才有的属性
__proto__是每个对象都有的属性

原型对象添加属性

function Test(name,age) {
  this.name = name;
  this.age = age;//私有属性
}
Test.prototype.type= 'dog';//公共属性
Test.prototype.action = function(){};

原型链中一般存储的是公共的属性,方便进行共享复用
构造函数中,写一些私有的东西

上一篇:Hive的导入导出方式汇总


下一篇:浅入 AutoMapper