js 类的静态方法

  • 根据课程中代码案例,知识扩展而写
    在 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 实例作为参数,并根据他们的年龄进行比较。

静态方法的特征:

  1. 调用方式:静态方法只能通过类本身调用,不能通过实例调用。
  2. 无法访问实例属性:静态方法不能访问实例的属性和方法,只能访问类级别的属性和方法。
  3. 用途:通常用于执行与类本身相关的操作,而不是操作特定实例的数据。
posted @   盘思动  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2023-11-14 springboot dto,entity中过滤字符串传入内容的空格
2019-11-14 FromXml 支付回调 xml 转数组
2017-11-14 git 删除分支
2017-11-14 git grep mysql 操作历史
点击右上角即可分享
微信分享提示