1.静态方法
静态属性,静态方法
属于类所独有的
特点:通过类名去调用
1.静态方法是属于类所独有的,类创建的时候,就会在内存中存在。不用实例化,直接通过
类名直接调用,不会造成系统资源的格外浪费
2.不可以在静态方法中,调用普通方法
3.静态方法中的this,指调用静态方法的这个类
4.静态方法是可以被继承的
*/
/* 在静态方法中this指-->调用静态方法的类
*/
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
sayAge(){
Person.sayName();
console.log(this.age);
}
static sayName(){
console.log(this)
console.log("name")
}
}
Person.sayName();
2.关系
1.在普通方法中能调用静态方法
2.在静态方法中不能调用普通方法
<script>
class Person{
constructor(name,age){
this.name = name;
this.age =age;
}
sayAge(){
//在普通方法中调用类的方法
Person.sayName(); //类调用静态方法sayName
console.log(this.age); //输出实例化的age
}
static sayName(){
// this.sayAge(); //报错
console.log("name");
}
}
var p = new Person("name",18)
p.sayAge(); //name /br 18
// Person.sayName(); //报错
</script>
3.区别
普通方法每个实例化对象都可用,静态方法只能通过类名调用