JavaScript教程-JavaScript静态方法
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