首頁  >  文章  >  web前端  >  js單例模式的兩種方案_javascript技巧

js單例模式的兩種方案_javascript技巧

WBOY
WBOY原創
2016-05-16 17:19:181060瀏覽

方案一:利用閉包的兩個作用,可以變通地讀到內部的變量,二是可以讓這些變數始終在記憶體中。

複製程式碼 程式碼如下:

//方案一 () {
        //單例方法
        function Singleton(args) {
         this.name = 'SingletonTester'; //方法對外的屬性,另一方法是回傳對象
            this.pointX = args.pointX || 6;
         >
        //單例實例
        var instance;

        //返回物件
       
            getInstance: function (args) {
              == undefined) {
                    instance = new Singleton(args);             }
        };
  )(   🎜>
    //測試
    var test = SingletonTester.getInstance({ pointX: 5 });
    console.log(test.pointX);
    console.log(test.pointX);




方案二: 


複製程式碼

程式碼如下:

//方案二       // 判斷是否有實例      if (typeof Universe.instance === 'object') {           // 其它內容      this.start_time = 0;
      this.bang = "Big";

      // 快取  }

  // 測試
  var uni = new Universe();
  var uni2 = new Universe();
  console.log(uni === uni2); // true



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn