Rumah > hujung hadapan web > tutorial js > Satu artikel untuk memahami corak tunggal dalam JavaScript

Satu artikel untuk memahami corak tunggal dalam JavaScript

青灯夜游
Lepaskan: 2023-04-25 19:53:11
ke hadapan
2460 orang telah melayarinya

Corak singleton JS ialah corak reka bentuk yang biasa digunakan, yang boleh memastikan bahawa kelas hanya mempunyai satu tika. Mod ini digunakan terutamanya untuk mengurus pembolehubah global untuk mengelakkan konflik penamaan dan pemuatan berulang. Ia juga boleh mengurangkan penggunaan memori dan meningkatkan kebolehselenggaraan dan skalabiliti.

Satu artikel untuk memahami corak tunggal dalam JavaScript

Senario nilai

Corak singleton JS biasanya sesuai untuk senario berikut:

Urus Pembolehubah global

Menggunakan mod tunggal boleh mengelakkan konflik penamaan dan pemuatan berulang pembolehubah global, dan juga boleh mengurus pembolehubah global dengan lebih baik, menjadikan kod lebih boleh diselenggara dan berskala. Sebagai contoh, kita boleh menggunakan mod tunggal untuk mengurus data global seperti maklumat konfigurasi halaman dan status log masuk pengguna. [Pembelajaran yang disyorkan: tutorial video javascript]

Melaksanakan objek unik

Dalam sesetengah senario, kita perlu memastikan bahawa terdapat hanya satu contoh daripada sesuatu objek. Contohnya, apabila kita perlu mengurus baris gilir permintaan tak segerak, kita boleh menggunakan mod tunggal untuk memastikan baris gilir hanya mempunyai satu kejadian, mengelakkan penyerahan permintaan berulang atau penciptaan berbilang kejadian, sekali gus meningkatkan kebolehpercayaan dan prestasi kod.

Pengurusan sumber sistem

Dalam sesetengah aplikasi, kita perlu menggunakan sumber sistem untuk mengendalikan beberapa tugas. Sebagai contoh, apabila kita perlu mencetak sejumlah besar laporan, kita boleh menggunakan mod tunggal untuk menguruskan baris gilir cetakan untuk mengelakkan pembaziran sumber sistem yang berlebihan dan meningkatkan kecekapan pencetakan.

Pembangunan modular

Dalam pembangunan modular, biasanya kita perlu merangkum beberapa fungsi supaya fungsi ini boleh digunakan semula oleh modul lain. Menggunakan mod tunggal boleh memudahkan kami merangkum dan mengurus fungsi ini, mengelakkan konflik antara muka dengan modul lain dan meningkatkan kebolehselenggaraan dan kebolehskalaan kod.

Ringkasnya, corak singleton JS sesuai untuk banyak senario. Ia boleh membantu kami mengatur kod dengan lebih baik dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Jika anda belum menggunakan corak tunggal, cubalah saya percaya anda akan mendapati nilainya.

Kaedah pelaksanaan

Terdapat banyak cara untuk melaksanakan corak tunggal JS Berikut ialah beberapa kaedah yang biasa digunakan.

Objek literal

Objek literal ialah cara mudah untuk mencipta objek tunggal dengan mudah. Contohnya:

const singleton = {
  prop: 'value',
  method() {
    console.log(this.prop);
  }
};
Salin selepas log masuk

Dengan cara ini, kita boleh terus mengakses objek tunggal tanpa mencipta tika baharu. Kelemahan pendekatan ini ialah ciri berorientasikan objek seperti pembina dan warisan tidak tersedia.

Pembina

Pembina ialah cara yang lebih fleksibel untuk mencipta tika melalui kata kunci baharu. Contohnya:

function Singleton() {
  if (Singleton.instance) {
    return Singleton.instance;
  }
  Singleton.instance = this;
  this.prop = 'value';
}
Salin selepas log masuk

Dalam contoh ini, kami mula-mula menyemak sama ada tika kelas Singleton sudah wujud, dan jika ya, kembalikan tika itu secara langsung, sebaliknya buat tika baharu dan simpannya dalam statik pembolehubah Singleton.contoh untuk kegunaan lain kali.

Kaedah kelas

Berikut ialah contoh penggunaan kelas untuk melaksanakan corak tunggal.

class Singleton {
  constructor() {
    if (Singleton.instance) {
      return Singleton.instance;
    }
    Singleton.instance = this;
    this.prop = 'value';
  }
  method() {
    console.log(this.prop);
  }
}

const instance1 = new Singleton();
const instance2 = new Singleton();

console.log(instance1 === instance2); // true
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan kata kunci kelas untuk mentakrifkan kelas Singleton, yang mempunyai hanya satu pembina. Dalam pembina, kami menyemak sama ada tika sudah wujud, dan jika ya, kembalikan tika itu jika tidak, buat tika baharu dan simpan dalam pembolehubah statik Singleton.instance. Pada masa yang sama, kami juga mentakrifkan kaedah kaedah untuk menunjukkan cara mengakses dan mengendalikan sifat dan kaedah objek tunggal.

Akhir sekali, kami mencipta dua contoh instance1 dan instance2 masing-masing Dengan membandingkan alamat rujukan mereka, kami dapati bahawa ia adalah objek yang sama. Ini membuktikan bahawa pelaksanaan corak tunggal kami adalah betul.

Ringkasnya, menggunakan kaedah kelas untuk melaksanakan corak tunggal juga merupakan kaedah biasa, yang boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Jika anda sudah biasa dengan penggunaan kelas, anda juga boleh cuba menggunakan kaedah ini untuk melaksanakan corak tunggal.

Ringkasan

Tidak kira apa cara sekalipun, faedah corak singleton JS adalah jelas. Ia boleh membantu kami mengurus pembolehubah global, mengelakkan konflik penamaan dan pemuatan berulang serta meningkatkan kebolehselenggaraan dan kebolehskalaan kod. Pada masa yang sama, ia juga boleh mengurangkan penggunaan memori dan meningkatkan prestasi kod.

Ringkasnya, corak singleton JS ialah corak reka bentuk yang sangat berguna, yang boleh membantu kami mengatur kod dengan lebih baik dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Jika anda belum menggunakan mod ini, cubalah saya percaya anda akan jatuh cinta dengan kesederhanaan dan kepraktisannya.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengajaran Pengaturcaraan! !

Atas ialah kandungan terperinci Satu artikel untuk memahami corak tunggal dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:juejin.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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan