JavaScript Class static 关键词


实例

创建一个静态方法并在类上调用它:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript Class Static 方法</h2>
  5. <p>static 方法是使用 “static” 关键字创建的,您只能在类本身上调用该方法。</p>
  6. <p id="demo">
  7. <script>
  8. class Car {
  9. constructor(brand) {
  10. this.carname = brand;
  11. }
  12. static hello() { // static 方法
  13. return "Hello!!";
  14. }
  15. }
  16. mycar = new Car("Tesla");
  17. //对 Car 类调用 'hello()':
  18. document.getElementById("demo").innerHTML = Car.hello();
  19. //而非 'mycar' 对象:
  20. //document.getElementById("demo").innerHTML = mycar.hello();
  21. //此举会引发错误。
  22. </script>
  23. </body>
  24. </html>

定义和用法

static 关键字为类定义静态方法。

静态方法直接在类上(上例中为 Car)调用,而无需创建类的实例/对象(mycar)。


浏览器支持

Keyword
static49.013.045.09.036.0

语法

  1. static methodName()

技术细节

JavaScript 版本:ECMAScript 2015 (ES6)

更多实例

如果要在静态方法内使用 mycar 对象,那么您可以将其作为参数发送:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript Class Static 方法</h2>
  5. <p>如需在 static 方法中使用 “mycar” 对象,您可以将其作为参数发送。</p>
  6. <p id="demo">
  7. <script>
  8. class Car {
  9. constructor(brand) {
  10. this.carname = brand;
  11. }
  12. static hello(x) {
  13. return "Hello " + x.carname;
  14. }
  15. }
  16. mycar = new Car("Tesla");
  17. document.getElementById("demo").innerHTML = Car.hello(mycar);
  18. </script>
  19. </body>
  20. </html>

分类导航