## 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