JavaScript提供了静态方法,这些方法属于类而不是类的实例。因此,不需要实例就可以调用静态方法。这些方法直接在类本身上调用。

要记住的要点

  • 使用static关键字声明静态方法。
  • 静态方法可以有任何名称。
  • 一个类可以包含多个静态方法。
  • 如果我们声明了多个具有相同名称的静态方法,JavaScript总是调用最后一个。
  • 静态方法可以用于创建实用函数。
  • 我们可以在另一个静态方法内部使用this关键字调用静态方法。
  • 我们不能在非静态方法内部直接使用this关键字调用静态方法。在这种情况下,可以使用类名或构造函数的属性来调用静态方法。

JavaScript静态方法示例1

让我们看一个静态方法的简单示例。

class Test {
  static display() {
    return "static method is invoked";
  }
}

document.writeln(Test.display());

输出:

static method is invoked

示例2

让我们看一个调用多个静态方法的示例。

class Test {
  static display1() {
    return "static method is invoked";
  }
  static display2() {
    return "static method is invoked again";
  }
}

document.writeln(Test.display1() + "<br>");
document.writeln(Test.display2());

输出:

static method is invoked
static method is invoked again

示例3

让我们看一个调用具有相似名称的多个静态方法的示例。

class Test {
  static display() {
    return "static method is invoked";
  }
  static display() {
    return "static method is invoked again";
  }
}

document.writeln(Test.display());

输出:

static method is invoked again

示例4

让我们看一个在构造函数内部调用静态方法的示例。

class Test {
  constructor() {
    document.writeln(Test.display() + "<br>");
    document.writeln(this.constructor.display());
  }

  static display() {
    return "static method is invoked";
  }
}

var t = new Test();

输出:

static method is invoked
static method is invoked

示例5

让我们看一个在非静态方法内部调用静态方法的示例。

class Test {
  static display() {
    return "static method is invoked";
  }

  show() {
    document.writeln(Test.display() + "<br>");
  }
}

var t = new Test();
t.show();

输出:

static method is invoked

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全