为什么加了static
方法在init()
引用this.share()
会报错?静态方法这样调调不了吗?
es2015
的class
就是个语法糖,static
,可以理解为EventLoad
上的方法,所以需要用Eventload.share()
class A {
fn() {
console.log('fn');
}
static staticFn() {
console.log('staticFn');
}
}
var a = new A();
a.fn(); // fn
a.staticFn(); // 报错
A.staticFn(); // staticFn
static
定义的是类的方法只有类能调用,所以只能通过A.staticFn
调用,而普通方法是实例的方法只有类实例能调用,所以可以通过this.fn
调用。
所以你这儿的静态方法share
只能通过EventLoad.share
调用。