美文网首页
面向对象

面向对象

作者: 马建阳 | 来源:发表于2018-02-18 20:53 被阅读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')

    相关文章

      网友评论

          本文标题:面向对象

          本文链接:https://www.haomeiwen.com/subject/sruhtftx.html