- 根据课程中代码案例,知识扩展而写
在 JavaScript 中,类的静态方法是属于类本身的,而不是属于类的实例。静态方法可以通过类直接调用,而不需要创建类的实例。
示例代码:
class Person {constructor(name, age) {this.name = name;this.age = age;}// 实例方法introduce() {console.log(`大家好,我叫${this.name},今年${this.age}岁。`);}// 静态方法static greet() {console.log("你好,欢迎使用 Person 类!");}// 静态方法接收其他参数,可以在其中进行更复杂的操作static compareAge(person1, person2) {if (person1.age > person2.age) {return `${person1.name} 比 ${person2.name} 年龄大`;} else if (person1.age < person2.age) {return `${person2.name} 比 ${person1.name} 年龄大`;} else {return `${person1.name} 和 ${person2.name} 年龄相同`;}}
}// 调用静态方法
Person.greet(); // 输出:你好,欢迎使用 Person 类!const person1 = new Person("张三", 25);
const person2 = new Person("李四", 30);// 调用静态方法比较年龄
console.log(Person.compareAge(person1, person2)); // 输出:李四 比 张三 年龄大
解释:
static greet()
是一个静态方法,你可以直接通过类 Person
来调用它,而不需要创建一个 Person
实例。
static compareAge(person1, person2)
是一个静态方法,它接受两个 Person
实例作为参数,并根据他们的年龄进行比较。
静态方法的特征:
- 调用方式:静态方法只能通过类本身调用,不能通过实例调用。
- 无法访问实例属性:静态方法不能访问实例的属性和方法,只能访问类级别的属性和方法。
- 用途:通常用于执行与类本身相关的操作,而不是操作特定实例的数据。
相信坚持的力量,日复一日的习惯.