1. 程式人生 > >【Infragistics教程】在javascript類中新增靜態成員屬性

【Infragistics教程】在javascript類中新增靜態成員屬性

【下載Infragistics Ultimate最新版本】

在一個javascript類中建立一個屬性的需求,它需要被所有物件例項共享。在程式設計中,這些型別的屬性稱為靜態屬性。

當需要靜態成員屬性時,有多種情況:

  • 計算從特定類建立的物件例項數時
  • 在類級別而不是物件例項級別等記錄一些資訊時。

要建立靜態屬性,需要清楚兩件重要的事情:

  1. javascript類不能有成員屬性。只能使用建構函式建立它
  2. 與函式建構函式一樣,javascript類也有一個原型

1

2

3

4

5

6

7

8

9

class Foo {

  

    constructor(goal) {

        this.goal = goal;

        Foo.prototype.objectcount++;

    }

  

}

Foo.prototype.objectcount = 0;

讓我們來談談foo類的實現,

  1. 我們向foo類原型添加了一個屬性
  2. 在建構函式中增加它,因為每次建立物件時都會呼叫建構函式

本質上,要建立靜態屬性成員,請向類原型物件新增屬性。現在,建立一個Foo類的例項,

1

2

3

4

5

6

7

8

let f1 = new Foo(78);

console.log(f1.objectcount); // 1

let f2 = new Foo(45);

console.log(f2.objectcount)// 2

let f3 = new Foo(45);

console.log(f3.objectcount)// 2

console.log(f1.objectcount === f2.objectcount);

// true

console.log(f2.objectcount === f3.objectcount);// true

現在可以看到,objectcount跟蹤所有物件的計數。對於所有物件例項也是相同的,因此,它可以稱為JavaScript類的靜態成員屬性。