Rumah > hujung hadapan web > tutorial js > Bagaimanakah Pembolehubah Statik Boleh Dilaksanakan dalam JavaScript?

Bagaimanakah Pembolehubah Statik Boleh Dilaksanakan dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-12-01 20:59:11
asal
139 orang telah melayarinya

How Can Static Variables Be Implemented in JavaScript?

Pembolehubah Statik dalam JavaScript

Dalam pengaturcaraan berorientasikan objek, pembolehubah statik dikaitkan dengan kelas dan bukannya kejadiannya. Dalam JavaScript, yang mengikuti model pewarisan berasaskan prototaip, konsep pembolehubah statik boleh dicapai melalui pelbagai pendekatan.

Pendekatan Fungsi Pembina:

Sebelum pengenalan daripada kelas ES6, JavaScript menggunakan fungsi pembina untuk penciptaan objek. Dalam fungsi pembina, anda boleh menentukan pembolehubah persendirian yang hanya boleh diakses dalam skop fungsi tersebut. Pembolehubah dan kaedah awam, sebaliknya, boleh diberikan kepada objek ini contoh. Selain itu, anda boleh menambah sifat statik pada objek fungsi pembina itu sendiri, yang akan dikongsi oleh semua kejadian.

Pertimbangkan contoh berikut:

function MyClass() {
  var privateVariable = "foo";

  this.publicVariable = "bar";

  this.privilegedMethod = function() {
    alert(privateVariable);
  };
}

// Instance method available to all instances (loaded once)
MyClass.prototype.publicMethod = function() {
  alert(this.publicVariable);
};

// Static property shared by all instances
MyClass.staticProperty = "baz";

var myInstance = new MyClass();
Salin selepas log masuk

Dalam contoh ini, staticProperty ditakrifkan dalam fungsi MyClass dan boleh diakses oleh semua kejadian MyClass.

Sintaks Kelas ES6 Pendekatan:

ES6 memperkenalkan kata kunci kelas untuk mengisytiharkan kelas. Dengan kelas, anda boleh menentukan sifat atau kaedah statik menggunakan kata kunci statik. Ahli statik ini boleh diakses melalui nama kelas itu sendiri.

Berikut ialah contoh sebelumnya yang dilaksanakan dengan kelas ES6:

class MyClass {
  constructor() {
    const privateVariable = "private value";
    this.publicVariable = "public value";

    this.privilegedMethod = function() {
      console.log(privateVariable);
    };
  }

  publicMethod() {
    console.log(this.publicVariable);
  }

  static staticProperty = "static value";

  static staticMethod() {
    console.log(this.staticProperty);
  }
}

var myInstance = new MyClass();
myInstance.publicMethod(); // "public value"
myInstance.privilegedMethod(); // "private value"
MyClass.staticMethod(); // "static value"
Salin selepas log masuk

Kedua-dua pendekatan menyediakan cara untuk mencipta pembolehubah statik dalam JavaScript. Sintaks kelas ES6 menawarkan kaedah yang lebih bersih dan ringkas, manakala pendekatan fungsi pembina memberikan lebih fleksibiliti untuk mengakses pembolehubah persendirian dalam kaedah contoh.

Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Statik Boleh Dilaksanakan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan