📕 原型对象

2021-08-20  本文已影响0人  一名有马甲线的程序媛

基本概念

原型

每一个对象都有它的原型对象,可以使用自己原型对象上的所有属性和方法

原型链

对象有原型,原型也是对象,还有原型,原型还有原型...形成的链

获取原型方法

① 通过对象的 __proto__ 获取;

    let person = {
      name: 'pp'
    }
    person.__proto__.job = function(){
      console.log('前端')
    }
    person.job();

② 通过构造函数的 prototype 属性拿到原型

    function Person(name, age){
      this.name = name;
      this.age = age;
    }
    let person = new Person('pp', 18);
    Person.prototype.job = function(){
      console.log('前端')
    }
    person.job();

继承

类与继承(ES6)

    class User{
      constructor(username,password){
        this.username = username;
        this.password = password;
      }
      login(){
        console.log('登录')
      }
    }

    class Admin extends User{
      deletePerson(){
        console.log('删除一个人')
      }
    }

    let admin = new Admin();
    admin.login();
    admin.deletePerson();

原型继承(ES5)

    function User(username, password){
      this.username = username;
      this.password = password;
      // 挪到下面写喽
      // this.login = function () {
      //   console.log('登录');
      // }
    }

    function Admin(){
      this.deletePerson = function(){
        console.log('删除一个人');
      }
    }

    Object.prototype.login = function(){
      console.log('Object原型上的登录方法')
    }

    Admin.prototype = new User();
    let admin = new Admin();
    admin.login();
    admin.deletePerson();

如果本文对你有所帮助,感谢点一颗小心心,您的支持是我继续创作的动力!
最后:写作不易,如要转裁,请标明转载出处。

上一篇 下一篇

猜你喜欢

热点阅读