Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Melaksanakan Corak Singleton dalam JavaScript dengan Cekap?

Bagaimanakah Saya Boleh Melaksanakan Corak Singleton dalam JavaScript dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-11-29 17:17:12
asal
507 orang telah melayarinya

How Can I Implement the Singleton Pattern in JavaScript Efficiently?

Pelaksanaan Corak Singleton yang Bersih dan Mudah dalam JavaScript

Corak singleton memastikan bahawa hanya satu contoh kelas boleh wujud. JavaScript menawarkan beberapa pendekatan untuk melaksanakan corak ini dengan cekap.

Kaedah 1: Literal Objek Mudah

Satu pendekatan mudah ialah mencipta objek literal dan kemudian menetapkannya kepada pembolehubah . Ini membolehkan akses mudah kepada kaedah dan sifat contoh tunggal.

var myInstance = {
  method1: function () {},
  method2: function () {}
};
Salin selepas log masuk

Kaedah 2: Singleton berasaskan penutupan

Untuk mencipta ahli persendirian, anda boleh menggunakan corak modul, yang melibatkan penggunaan penutupan.

var myInstance = (function() {
  var privateVar = '';
  function privateMethod () {}
  return {
    publicMethod1: function () {},
    publicMethod2: function () {}
  };
})();
Salin selepas log masuk

Kaedah 3: Objek ES5 Bekukan

Untuk mengelakkan pengubahsuaian objek tunggal, anda boleh membekukannya menggunakan kaedah Object.freeze.

Object.freeze(myInstance);
Salin selepas log masuk

Kaedah 4: ES Modules Singleton

Dalam ES6, anda boleh menentukan singleton menggunakan modul dengan peribadi negeri.

// my-singleton.js
const privateState = [];
export default {
  method1() {},
  method2() {}
};
Salin selepas log masuk
// usage
import myInstance from './my-singleton.js';
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Corak Singleton dalam JavaScript dengan Cekap?. 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