小码哥的IT人生

JavaScript Static 方法

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

JavaScript Static 方法

static 类方法是在类本身上定义的。

您不能在对象上调用 static 方法,只能在对象类上调用。

实例

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello() {
    return "Hello!!";
  }
}
let myCar = new Car("Ford");
// 您可以在 Car 类上调用 'hello()' :
document.getElementById("demo").innerHTML = Car.hello();
// 但不能在 Car 对象上调用:
// document.getElementById("demo").innerHTML = myCar.hello();
// 此举将引发错误。

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Class Static 方法</h1>
<p>static 方法是使用 "static" 关键字创建的,您只能在类本身上调用该方法。</p>
<p id="demo"></p>
<script>
class Car {
  constructor(name) {
    this.name = name;
  }
  static hello() {
    return "Hello!!";
  }
}
let myCar = new Car("Ford");
//You can call 'hello()' on the Car Class:
document.getElementById("demo").innerHTML = Car.hello();
// But NOT on  a Car Object:
// document.getElementById("demo").innerHTML = myCar.hello();
// this will raise an error.
</script>
</body>
</html>

运行结果:

Javascript Class Static 方法

static 方法是使用 "static" 关键字创建的,您只能在类本身上调用该方法。

Hello!!

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

如果要在 static 方法中使用 myCar 对象,可以将其作为参数发送:

示例代码:

class Car {
  constructor(name) {
    this.name = name;
  }
  static hello(x) {
    return "Hello " + x.name;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(myCar);

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Class Static 方法</h1>
<p>如需在静态方法中使用 "myCar" 对象,您可以将其作为参数发送。</p>
<p id="demo"></p>
<script>
class Car {
  constructor(name) {
    this.name = name;
  }
  static hello(x) {
    return "Hello " + x.name;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(myCar);
</script>
</body>
</html>

运行结果:

Javascript Class Static 方法

如需在静态方法中使用 "myCar" 对象,您可以将其作为参数发送。

Hello Ford

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

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

苏公网安备 32030202000762号

© 2021-2024