JavaScript Static 方法

static 类方法是在类本身上定义的。

您不能在对象上调用 static 方法,只能在对象类上调用。

实例

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello() {
    return "Hello!!";
  }
}

let myCar = new Car("Ford");

// 您可以在 Car 类上调用 'hello()' :
document.getElementById("demo").innerHTML = Car.hello();

// 但不能在 Car 对象上调用:
// document.getElementById("demo").innerHTML = myCar.hello();
// 此举将引发错误。

亲自试一试

如果要在 static 方法中使用 myCar 对象,可以将其作为参数发送:

实例

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello(x) {
    return "Hello " + x.name;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(myCar);

亲自试一试