1.静态方法

  1. 静态属性,静态方法
  2. 属于类所独有的
  3. 特点:通过类名去调用
  4. 1.静态方法是属于类所独有的,类创建的时候,就会在内存中存在。不用实例化,直接通过
  5. 类名直接调用,不会造成系统资源的格外浪费
  6. 2.不可以在静态方法中,调用普通方法
  7. 3.静态方法中的this,指调用静态方法的这个类
  8. 4.静态方法是可以被继承的
  9. */
  10. /* 在静态方法中this指-->调用静态方法的类
  11. */
  1. class Person{
  2. constructor(name,age){
  3. this.name = name;
  4. this.age = age;
  5. }
  6. sayAge(){
  7. Person.sayName();
  8. console.log(this.age);
  9. }
  10. static sayName(){
  11. console.log(this)
  12. console.log("name")
  13. }
  14. }
  15. Person.sayName();

2.关系

1.在普通方法中能调用静态方法
2.在静态方法中不能调用普通方法

  1. <script>
  2. class Person{
  3. constructor(name,age){
  4. this.name = name;
  5. this.age =age;
  6. }
  7. sayAge(){
  8. //在普通方法中调用类的方法
  9. Person.sayName(); //类调用静态方法sayName
  10. console.log(this.age); //输出实例化的age
  11. }
  12. static sayName(){
  13. // this.sayAge(); //报错
  14. console.log("name");
  15. }
  16. }
  17. var p = new Person("name",18)
  18. p.sayAge(); //name /br 18
  19. // Person.sayName(); //报错
  20. </script>

3.区别

普通方法每个实例化对象都可用,静态方法只能通过类名调用