Class 类简介

创建于 2024-12-03 / 29
字体: [默认] [大] [更大]

构造方法

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

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

类方法

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

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

请始终添加 constructor() 方法。

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

创建一个名为 "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 49 Edge 12 Firefox 45 Safari 9 Opera 36
Mar, 2016 Jul, 2015 Mar, 2016 Oct, 2015 Mar, 2016


"use strict"

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

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

实例

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

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // 这行不通
    let date = new Date(); // 这将正常工作
    return date.getFullYear() - this.year;
  }
} 亲自试一试 »

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



0 人点赞过