我正在尝试理解 JavaScript 中的类和类方法。
下面的示例仅当您在 isIE() 方法之前添加关键字 static 时才有效。
<强>1。为什么需要静态关键字?
<强>2。我应该如何更改函数,以便不需要使用静态?
class ieAlert {
// Method for checking if IE11
static isIE() {
return window.navigator.userAgent.match(/(MSIE|Trident)/);
}
}
// If the user is using IE11, show the alert
if (ieAlert.isIE()) {
window.alert("Your browser is outdated!");
}
module.exports = ieAlert;
最佳答案
之所以需要 static 关键字,是因为您要访问类或对象的方法,而无需实例化或创建该类。
例如,如果该方法不是静态的,您会说。
//CREATE NEW INSTANCE
let dog = new Dog()
//ACCESS METHOD
dog.bark()
但是,使用 static 关键字,您可以说。
//ACCESS METHOD WITHOUT CREATING INSTANCE
Dog.bark()
无需创建该类的新实例。
您应该了解这两种方法各有利弊。
例如,静态变量只有一个实例,因此对于每个有权访问它的类来说,它的值都是相同的。
因此,如果您想要养 10 只狗,并且每只狗都有不同的品种,您就不会使用静态变量。
这是常识,无论您使用什么编程语言。我建议你找到一个好的 JavaScript 教程。
关于javascript - 为什么这里需要 static 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56923441/