面向对象

2018-02-18  本文已影响12人  马建阳

先记住套路

function People(name){
  this.name = name
}
People.prototype.sayName = function(){
  console.log(`My name is ${this.name}`)
}
var p = new People('jirengu')
p.sayName()

发生了什么

当 new 一个函数时,

  1. 创建一个空对象,把一个空的对象的 proto 属性设置为 People.prototype
  2. 执行函数 People, 函数里面的 this 代表刚刚创建的新对象
  3. 返回这个对象

对于第3步,如果构造函数里有 return,分情况讨论。 如果 return 的是基本类型,会忽略不计。 如果 return 的是引用类型,则返回这个引用类型

原型图

Tips

任何函数都有 .prototype 这个属性,对应的值是一个对象叫原型对象,这个原型对象可以被由这个函数 new 的所有对象共享

原型图一定要会画

组件化:
function Carouse(){}
Carouse.prototype.init=function (){}
Carouse.prototype.bind=function (){}
new Carouse('#app')
new Carouse('#app2')

上一篇下一篇

猜你喜欢

热点阅读