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)