zoukankan      html  css  js  c++  java
  • 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();

    .

  • 相关阅读:
    shell编程——循环执行
    ubuntu 设置管理 集锦
    27. 计算FPS
    29 GameProject4(+GUI)
    26. D3D显示文本
    30. D3D特效
    28. GUI
    32. 细节映射
    25. GameProject3
    Direct3D渲染到纹理 (部分转)
  • 原文地址:https://www.cnblogs.com/crazycode2/p/10923658.html
Copyright © 2011-2022 走看看