创建一个静态方法并在类上调用它:
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // static method
return "Hello!!";
}
}
mycar = new Car("Ford");
//Call 'hello()' on the class Car:
document.getElementById("demo").innerHTML = Car.hello();
//and NOT on the 'mycar' object:
//document.getElementById("demo").innerHTML = mycar.hello();
//this would raise an error.
这个static
关键字定义类的静态方法。
静态方法直接在类上调用(Car
从上面的例子) - 不创建实例/对象(mycar
)的类。
static
是 ECMAScript6 (ES6) 功能。
所有现代浏览器都支持 ES6 (JavaScript 2015):
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
static
Internet Explorer 11(或更早版本)不支持。
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 参考:构造函数()方法
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!