• koa 基础(十七)原生 JS 中的类、静态方法、继承


    1.app.js

    /**
     * 原生 JS 中的类、静态方法、继承
     * es5中的类和静态方法
     */
    function Person(name, age) {
      // 构造函数里面的方法和属性
      this.name = name;
      this.age = age;
      this.run = function () {
        console.log(`${this.name} --- ${this.age}`)
      }
    }
    
    // 原型链上面的属性和方法可以被多个实例共享
    Person.prototype.sex = '男';
    Person.prototype.work = function () {
      console.log(`${this.name} --- ${this.age} --- ${this.sex}`)
    }
    
    // 静态方法
    Person.setName = function () {
      console.log('静态方法');
    }
    
    var p = new Person('zhangsan', '20'); /*实例方法是通过实例化来调用的,静态是通过类名直接调用*/
    p.run();
    p.work();
    
    Person.setName(); /*执行静态方法*/
    
    /**
     * 继承 -- 对象冒充继承和原型链继承
     * 对象冒充继承:没法继承原型链上面的属性和方法 
     * 原型链继承:可以继承构造函数里面以及原型链上面的属性和方法,实例化子类的时候无法给父类传参
     */
    function Web(name, age) {
      Person.call(this, name, age); /*对象冒充实现继承*/
    }
    
    Web.prototype = new Person(); /*原型链继承*/
    
    var w = new Web('李四', 20);
    w.run();

    .

  • 相关阅读:
    .net网络编程(4)TcpListener、TcpClient
    Win32 窗口篇(1)
    Win32 窗口篇(3)
    JS数组定义
    asp的RegExp对象正则表达式功能用法
    Javascript 面向对象全新理练之数据的封装
    asp 正则表达式
    PPK 谈 JavaScript 的 this 关键字
    JavaScript 接收键盘指令示例
    javascript事件列表解说
  • 原文地址:https://www.cnblogs.com/crazycode2/p/10923658.html
Copyright © 2020-2023  润新知