JavaScript Static基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
JavaScript提供了属于该类的静态方法,而不是该类的实例。因此,不需要实例来调用静态方法。这些方法直接在类本身上调用。
要记住的要点
static关键字用于声明静态方法。 静态方法可以是任何名称。 一个类可以包含多个静态方法。 如果我们声明多个具有相似名称的静态方法,则JavaScript始终会调用最后一个。 可以使用静态方法来创建实用程序功能。 我们可以使用this关键字在另一个静态方法中调用一个静态方法。 我们不能直接使用this关键字在非静态方法中调用静态方法。在这种情况下,我们可以使用类名或作为构造函数的属性来调用静态方法。JavaScript静态方法示例1
我们来看一个简单的静态方法示例。
<script>
class Test
{
static display()
{
return "静态方法被调用"
}
}
document.writeln(Test.display());
</script>
class Test
{
static display()
{
return "静态方法被调用"
}
}
document.writeln(Test.display());
</script>
输出:
静态方法被调用
示例2
我看到了一个调用多个静态方法的示例。
<script>
class Test
{
static display1()
{
return "静态方法被调用"
}
static display2()
{
return "静态方法再次被调用"
}
}
document.writeln(Test.display1()+"<br>");
document.writeln(Test.display2());
</script>
class Test
{
static display1()
{
return "静态方法被调用"
}
static display2()
{
return "静态方法再次被调用"
}
}
document.writeln(Test.display1()+"<br>");
document.writeln(Test.display2());
</script>
输出:
静态方法被调用
静态方法再次被调用
静态方法再次被调用
示例3
让我们看一个示例,该示例调用多个具有相似名称的静态方法。
<script>
class Test
{
static display()
{
return "静态方法被调用"
}
static display()
{
return "静态方法再次被调用"
}
}
document.writeln(Test.display());
</script>
class Test
{
static display()
{
return "静态方法被调用"
}
static display()
{
return "静态方法再次被调用"
}
}
document.writeln(Test.display());
</script>
输出:
静态方法再次被调用
示例4
让我们看一个在构造函数中调用静态方法的示例。
<script>
class Test {
constructor() {
document.writeln(Test.display()+"<br>");
document.writeln(this.constructor.display());
}
static display() {
return "静态方法被调用"
}
}
var t=new Test();
</script>
class Test {
constructor() {
document.writeln(Test.display()+"<br>");
document.writeln(this.constructor.display());
}
static display() {
return "静态方法被调用"
}
}
var t=new Test();
</script>
输出:
静态方法被调用
静态方法被调用
静态方法被调用
示例5
让我们看一个在非静态方法中调用静态方法的示例。
<script>
class Test {
static display() {
return "静态方法被调用"
}
show() {
document.writeln(Test.display()+"<br>");
}
}
var t=new Test();
t.show();
</script>
class Test {
static display() {
return "静态方法被调用"
}
show() {
document.writeln(Test.display()+"<br>");
}
}
var t=new Test();
t.show();
</script>
输出:
静态方法被调用