首页 > 其他分享 >js 类的静态方法

js 类的静态方法

时间:2024-11-14 13:58:30浏览次数:1  
标签:静态方法 name age js person2 Person person1

  • 根据课程中代码案例,知识扩展而写
    在 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. 用途:通常用于执行与类本身相关的操作,而不是操作特定实例的数据。

标签:静态方法,name,age,js,person2,Person,person1
From: https://www.cnblogs.com/pansidong/p/18545845

相关文章

  • 原生js预览ofd文件
    进入正文第一步-Clone打开GitHub或者Gitee,那个有账号用哪个,因为要下载包。ofd-githubofd-gitee然后,将项目clone下来。然后,然后就是常规操作了兄弟:编辑器打开项目,下载项目依赖npminstall看package.json,运行项目应该是npmrunserve,具体以实际的package.json中的script脚本为......
  • 大学生网页设计制作作业实例代码 HTML+CSS+JS (1)
    文章目录......
  • js 统计树形组织架构人员数量
    组织架构树形数据,且存在一个人员在多公司/或部门计数重复问题//统计组织架构内人员数量constcountNodesProperty=(treeItemData,propertyName,propertyValue)=>{letcount=0constuserArr=[]consttraverse=nodes=>{nodes.forEach(node......
  • JS之Date时间处理
     初始化当前时间://1.使用构造函数方式varnewDate=newDate()//2.使用函数方式vardate=Date()//返回的是一个Date对象console.log(newDate)//返回的是表示当前时间的字符串console.log(date);初始化指定时间:通过Date对象初始化时间为指定的年月日可......
  • Nodejs保姆级安装教程(超详细)
    目录一、安装环境二、安装步骤三、验证安装四、修改全局模块下载路径 五、更换npm源为淘宝镜像总结一、安装环境本教程演示的环境:win1064位node.js下载: https://pan.quark.cn/s/6cc0cf8ba5be二、安装步骤1、双击安装包,一直点击下一步。2、点击change按钮......
  • 基于nodejs+vue中小型酒店管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于酒店管理系统的研究,现有研究主要以大型酒店或连锁酒店为主,专门针对中小型酒店管理系统的研究较少。在国内外,大型酒店由于资源丰富、管理复杂,吸引了......
  • 基于nodejs+vue中小型企业工资管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于工资管理系统的研究,现有研究多以大型企业或通用型企业管理系统为主,专门针对中小型企业工资管理系统的研究较少。在国内外,大型企业的工资管理系统往......
  • node.js毕设通达学院竞赛信息管理系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校竞赛信息管理的研究,现有研究主要集中在竞赛活动的组织与管理、学生参与竞赛的效果评估等方面。专门针对高校竞赛信息管理系统的开发与应用的研......
  • node.js毕设校园图书借阅系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着信息技术的快速发展,图书馆管理系统也在不断更新和升级。传统的图书借阅方式已经无法满足现代高校师生对图书资源的需求。近年来,国内外学者对图书借......
  • Node.js v22.6.0新特性:支持 TypeScript 直接运行!
    Node.jsv22.6.0版本已经发布,并且带来了一个开发者们期待已久的新特性——直接运行TypeScript(TS)文件的能力!版本更新亮点Node.jsv22.6.0版本通过--experimental-strip-types标志,实现了对TypeScript的实验性支持。这意味着开发者们现在可以在Node.js环境中直接执行......