javascript 类与对象

common js 方式的导出模块,没有实例化的概念,基于模块也是基于对象,传不同的参数来变化

立即执行模式

var xxx = function () {
}()

相当于直接实例化一个对象,再将对象,以模块的方式来使用

原型模式

原型继承方式的类,需要实例化再使用,

var xxx= function () {
    this.ctx = null;    
};
xxx.prototype.render = function ()  {
};

相当于定义一个类,需要

let objA = new xxx()
objA.render()

或者模块导出时,可以直接实例化一个对象来导出,相当于模块导出

es6 类方式,实例化对象导出,可 new 可直接调用

export class xxx {
  constructor() {
    this.ctx = null  
  }

  render() {
  }
}

// 导出静态属性
xxx.renderType = { lines: 'lines', points: 'points' }

// 创建一个实例并赋值对象方法到类方法,相当于静态函数
let object= new xxx()
xxx.render = object.render.bind(object)

推荐阅读更多精彩内容