手册目录

JavaScript

浏览2676
更新时间2025-08-07

JavaScript 类的语法

请使用关键字 class 创建一个类。

请始终添加一个名为 constructor() 的方法:

语法

class ClassName {
  constructor() { ... }
}

实例

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

上面的例子创建了一个名为 "Car" 的类。

该类有两个初始属性:"name" 和 "year"。

JavaScript 类不是对象。

它是 JavaScript 对象的模板

使用类

当您有了一个类时,可以使用该类来创建对象:

实例

let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
运行实例 »

点击 "运行实例" 按钮查看在线实例

上面的例子使用 Car 类来创建两个 Car 对象

在创建新对象时会自动调用构造方法(constructor method)。

构造方法

构造方法是一种特殊的方法:

  • 它必须有确切的名称的 “constructor”
  • 创建新对象时自动执行
  • 用于初始化对象属性
  • 如果您没有定义构造方法,JavaScript 会添加一个空的构造方法。

类方法

创建类方法的语法与对象方法相同。

请使用关键字 class 创建一个类。

请始终添加 constructor() 方法。

然后添加任意数量的方法。

语法

class ClassName {
  constructor() { ... }
  method_1() { ... }
  method_2() { ... }
  method_3() { ... }
}

创建一个名为 "age" 的类方法,它返回车年:

实例

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    let date = new Date();
    return date.getFullYear() - this.year;
  }
}

let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";
运行实例 »

点击 "运行实例" 按钮查看在线实例

您可以向类方法发送参数:

实例

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age(x) {
    return x - this.year;
  }
}

let date = new Date();
let year = date.getFullYear();

let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";
运行实例 »

点击 "运行实例" 按钮查看在线实例

浏览器支持

下表注明首个完全支持 JavaScript 类的浏览器版本:

Chrome IE Firefox Safari Opera
Chrome 49 Edge 12 Firefox 45 Safari 9 Opera 36
2016 年 3 月 2015 年 7 月 2016 年 3 月 2015 年 10 月 2016 年 3 月

"use strict"

类中的语法必须以“严格模式”编写。

如果您不遵循“严格模式”规则,将收到错误消息。

实例

在“严格模式”下,如果您使用变量而不声明它,会得到错误:

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // This will not work
    let date = new Date(); // This will work
    return date.getFullYear() - this.year;
  }
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

在 JS 严格模式 中学习更多关于“严格模式”的内容。

相关视频

更多

免费

Web前端开发极速入门
初级Web前端开发极速入门

221965次学习

收藏

免费

前端入门_HTML5
初级前端入门_HTML5

624560次学习

收藏

免费

30分钟学会网站布局
初级30分钟学会网站布局

240721次学习

收藏

免费

CSS视频教程-玉女心经版
初级CSS视频教程-玉女心经版

397467次学习

收藏

免费

独孤九贱(1)_HTML5视频教程
初级独孤九贱(1)_HTML5视频教程

623339次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号