JavaScript Class static 关键词
JavaScript基础 2022-06-08 10:34:11小码哥的IT人生shichen
JavaScript Class static 关键词
实例
创建一个静态方法并在类上调用它:
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // static method
return "Hello!!";
}
}
mycar = new Car("Ford");
//在类 Car 上调用 'hello()':
document.getElementById("demo").innerHTML = Car.hello();
//不要在 'mycar' 对象上调用:
//document.getElementById("demo").innerHTML = mycar.hello();
//会引发错误
完整实例:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Class Static 方法</h2>
<p>static 方法是使用 “static” 关键字创建的,您只能在类本身上调用该方法。</p>
<p id="demo"></p>
<script>
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // static 方法
return "Hello!!";
}
}
mycar = new Car("Tesla");
//对 Car 类调用 'hello()':
document.getElementById("demo").innerHTML = Car.hello();
//而非 'mycar' 对象:
//document.getElementById("demo").innerHTML = mycar.hello();
//此举会引发错误。
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
定义和用法
static
关键字为类定义静态方法。
静态方法直接在类上(上例中为 Car
)调用,而无需创建类的实例/对象(mycar
)。
浏览器支持
Keyword | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
static | 49.0 | 13.0 | 45.0 | 9.0 | 36.0 |
语法
static methodName()
技术细节
JavaScript 版本: | ECMAScript 2015 (ES6) |
---|
更多实例
如果要在静态方法内使用 mycar 对象,那么您可以将其作为参数发送:
示例代码:
Send "mycar" as a parameter:
class Car {
constructor(brand) {
this.carname = brand;
}
static hello(x) {
return "Hello " + x.carname;
}
}
mycar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(mycar);
完整实例:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Class Static 方法</h2>
<p>如需在 static 方法中使用 “mycar” 对象,您可以将其作为参数发送。</p>
<p id="demo"></p>
<script>
class Car {
constructor(brand) {
this.carname = brand;
}
static hello(x) {
return "Hello " + x.carname;
}
}
mycar = new Car("Tesla");
document.getElementById("demo").innerHTML = Car.hello(mycar);
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
相关页面
JavaScript 教程:JavaScript 类
JavaScript 教程:JavaScript ES6 (EcmaScript 2015)
JavaScript 参考手册:constructor() 方法