前言:

平常我们在写项目的时候,经常会使用Vue.prototype.$message = Message,将它挂载到Vue的原型上。方便我们直接使用:

   this.$message 就可以直接进行访问

一.Vue的实例

这样就可以在任意的vue实例文件上访问到了,原型链的定义,现在自身的prototype里面去找,如果找不到就去prototype上面去进行查找。

通过这个可以看出,第一层的原型是Vue自己的prototype,第二次的原型是Object这个对象。

二.在类的方法上挂载方法。

  class Cat {

    constructor(name, age) {

      this.name = age

      this.age = age

    }

    sing() {

      console.log('唱歌');

    }

  }

  let s1 = new Cat('小花', 10)

  console.log(s1);

  s1.sing()

new出来的实例对象为什么能够到类上的方法。

打印出的s1的结果:

 所以能够访问。

三.原型继承        

function Person(name, age) {
    this.name = name
    this.age = age
}
Person.prototype.say = function () {
    console.log('Hello World')
}

function Star(name, age) {
    Person.call(this, name, age)
}

Star.prototype = new Person()
Star.prototype.constructor = Star

const s = new Star('舒总', 18)
s.say() // 'Hello World'        

解析:

 1.在Person的原型挂载一个say方法。

2.  将new出来的实例化的原型赋值给Start的原型

3.然后可以进行调用

Logo

前往低代码交流专区

更多推荐