## 1.什么时候使用静态方法
静态方法的好处就是不用生成类的实例就可以直接调用。
static方法修饰的成员不再属于某个对象,而是属于它所在的类。只需要通过其类名就可以访问,不需要再消耗资源反复创建对象。
在类第一次加载的时候,static就已经在内存中了,直到程序结束后,该内存才会释放。
如果不是static修饰的成员函数,在使用完之后就会立即被JVM回收。
什么时候使用static?
如果这个方法是作为一个工具来使用的,就声明为static,不需要new一个对象就可以使用。比如:connect DB就可以声明一个Connection()的static方法,
因为是静态的,说明connection DB不是某个对象所特有的功能,只是作为一种连接到DB的工具。
如果在一个方法前,加上`static`关键字,就表示该方法`不会被实例继承`,而是直接通过类来调用,这就称为“静态方法”。
```
class Person{
static age = 10;
}
var a = new Person();
console.log(a.age)
console.log(Person.age)
```
## 2.如果在静@态方法中有this,关键字,this指的是类,不是实例
```
class Person{
static age = 10;
static say(){
this.go();
}
static go(){
console.log("go")
}
}
Person.say()
//go
```
## 3.父类的静态方法可以被子类继承。
## 4.静态方法中定义的属性,只有类才能使用
```
class Person{
static age = 10;
static say(){
this.go();
this.app = "app"
}
static go(){
console.log("go")
}
}
Person.say()
var a = new Person();
console.log(a.app) //undefined
console.log(Person.app) //app
```
- 将es6转为es5
- 第一节 webpack
- 第二章 基础语法
- 第1节 模块化
- 第2节set和map语法
- 2.1 set
- 第3节 变量
- 第4节 循环of
- 第5节 function
- 第6节 解构赋值
- 1.在对象在函数中的解构
- 第7节 字符串
- 第8节 面向对象
- 8-1 static静态属性,静态方法
- 第9节 JSON对象
- 9-1 Object.keys()
- 第10节 Promise
- 10.1 原理
- 10.2 回调地狱
- 第11节 generator
- 第一节 基本
- 第二节 generator-ajax
- 第12节 yield
- 第13节 asnyc
- 13.1
- 13.2 ajax
- 第14节 array
- 第15节 string方法拓展
- 第三章 webpack的简单配置
- 第四章 高级语法
- 第1节 promise
- a.实例
- b.promise
- 第2节 await,async