JavaScript 类静态方法
示例
创建一个静态方法并调用它
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // 静态方法
return "Hello!!";
}
}
mycar = new Car("Ford");
//在 Car 类上调用 'hello()'
document.getElementById("demo").innerHTML = Car.hello();
//而不是在 'mycar' 对象上调用
//document.getElementById("demo").innerHTML = mycar.hello();
//这将导致错误。
描述
The static
关键字用于定义类的静态方法。
静态方法直接在类上调用 (Car
来自上面的示例) - 而不创建类的实例/对象 (mycar
)。
浏览器支持
static
是 ECMAScript6 (ES6) 的特性。
ES6 (JavaScript 2015) 自 2017 年 6 月起在所有现代浏览器中得到支持
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
static
不受 Internet Explorer 支持。
语法
static methodName()
技术细节
JavaScript 版本 | ECMAScript 2015 (ES6) |
---|
更多示例
如果你想在静态方法内部使用 mycar 对象,可以将其作为参数传递
示例
将 "mycar" 作为参数传递
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);
相关页面
JavaScript 教程: JavaScript 类
JavaScript 教程: JavaScript ES6 (EcmaScript 2015)
JavaScript 参考: The constructor() method