小码哥的IT人生

JavaScript 类

JavaScript基础 2022-04-25 01:34:40小码哥的IT人生shichen

JavaScript 类

ECMAScript 2015,也称 ES6,引入了 JavaScript 类。

JavaScript 类是 JavaScript 对象的模板。

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);

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 类</h1>
<p>如何使用 JavaScript 类。</p>
<p id="demo"></p>
<script>
class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}
const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
myCar.name + " " + myCar.year;
</script>
</body>
</html>

运行结果:

Javascript 类

如何使用 Javascript 类。

Ford 2014

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

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

在创建新对象时会自动调用 constructor 方法。

Constructor 方法

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

  1. 它必须拥有确切名称的“构造函数”
  2. 创建新对象时自动执行
  3. 用于初始化对象属性
  4. 如果未定义构造函数方法,JavaScript 会添加空的构造函数方法。

Class 方法

类方法的创建

语法

与对象方法相同。

 

请使用关键字 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.";

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 类方法</h1>
<p>如何定义和使用类方法。</p>
<p id="demo"></p>
<script>
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.";
</script>
</body>
</html>

运行结果:

Javascript 类方法

如何定义和使用类方法。

My car is 8 years old.

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

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

示例代码:

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.";

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 类方法</h1>
<p>将参数传递给 "age()" 方法。</p>
<p id="demo"></p>
<script>
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.";
</script>
</body>
</html>

运行结果:

Javascript 类方法

将参数传递给 "age()" 方法。

My car is 8 years old.

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

浏览器支持

下表注明了首个完全支持 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 月

本站后续将会介绍更多关于 JavaScript 类的知识。

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024