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();
//这会引发错误。
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();
//这会引发错误。
定义和用法
static
关键字为类定义静态方法。
静态方法直接在类上(上例中为 Car
)调用,而无需创建类的实例/对象(mycar
)。
浏览器支持
关键词 | |||||
---|---|---|---|---|---|
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);
constructor(brand) {
this.carname = brand;
}
static hello(x) {
return "Hello " + x.carname;
}
}
mycar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(mycar);
相关页面
JavaScript 教程: JavaScript 类
JavaScript 教程: JavaScript ES6 (EcmaScript 2015)
JavaScript 参考手册: constructor() 方法