首页 > es6静态方法

es6静态方法

为什么加了static方法在init()引用this.share()
会报错?静态方法这样调调不了吗?


es2015class就是个语法糖,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调用。

【热门文章】
【热门文章】