單體模式封裝
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var Singalton = function(name) {
this.name = name;
}
Singalton.prototype.getName = function() {
return this.name;
}
var getInstance = (function() {
//建立這個變數只執行一次(自呼叫只執行一次)
var instance = null;
//向外部返回一個由getInstance儲存的函式
return function(name) {
// 在函式內部呼叫了區域性變數,並把該函式返回出去,則這個變數會變成全域性變數(閉包的概念)
if(!instance) {
instance = new Singalton(name);
}
return instance;
}
})();
var a = getInstance('a');
var b = getInstance('b');
console.log(a.getName());
console.log(b.getName());
</script>
</head>
<body>
</body>
</html>
相關文章
- PHP封裝的一個單例模式Mysql操作類PHP封裝單例模式MySql
- .NET Core MongoDB資料倉儲和工作單元模式封裝MongoDB模式封裝
- MVP模式的經典封裝MVP模式封裝
- Retrofit的簡單封裝封裝
- IQueryable的簡單封裝封裝
- ProgressFragment的簡單封裝Fragment封裝
- 模板方法模式--封裝演算法模式封裝演算法
- Fetch API 簡單封裝API封裝
- 二維碼簡單封裝封裝
- 遊戲選單GUI封裝 (轉)遊戲GUI封裝
- Skyline基本操作模式封裝模式封裝
- 命令模式-將請求封裝成物件模式封裝物件
- BaseActivity與BaseFragment的簡單封裝Fragment封裝
- 5-AVI–Fragment簡單封裝Fragment封裝
- 一個簡單的 Amqp 封裝MQ封裝
- iOS 基於FMDB簡單封裝iOS封裝
- 對getElementsByTagName()方法簡單封裝封裝
- 單元測試與封裝5.1封裝
- 簡單問題,封裝和框架!封裝框架
- 簡單封裝get和jsonp封裝JSON
- 學習Typescript 並使用單例模式 組合Vue + Element-ui 封裝 AxiosTypeScript單例模式VueUI封裝iOS
- 封裝react antd的form表單元件封裝ReactORM元件
- 封裝Vue Element的form表單元件封裝VueORM元件
- Golang 對MongoDB的操作簡單封裝GolangMongoDB封裝
- JS棧結構的簡單封裝JS封裝
- 陣列常用方法的簡單封裝陣列封裝
- Flutter Dio http簡單封裝與使用FlutterHTTP封裝
- 封裝 Laravel 自定義表單請求封裝Laravel
- AndroidBroadcast做的簡單封裝:AndroidAST封裝
- 【封裝那些事】 缺失封裝封裝
- 工廠模式-將物件的建立封裝起來模式物件封裝
- 使用 Repository 設計模式封裝通用的 CURD設計模式封裝
- 小程式wx.request()方法簡單封裝封裝
- 封裝一個簡單的日曆元件封裝元件
- 封裝一個簡單的動畫函式封裝動畫函式
- 簡單封裝分頁功能pageView.js封裝ViewJS
- javascript物件導向封裝簡單介紹JavaScript物件封裝
- c# Quartz.net的簡單封裝C#quartz封裝