當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS 设计模式 四(单例)
生活随笔
收集整理的這篇文章主要介紹了
JS 设计模式 四(单例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
單例
單例是一個全局變量,使用單例可以更好的控制全局變量,還可以利用分支技術來封裝瀏覽器之間的差異。網頁中使用全局變量由于可以被重寫風險很大。所以使用單例會更好的控制全局變量。
懶加載
單例模式多數都是在加載腳本的時候被創建出來。不過對于一些使用方式單例適合在用到的時候被加載,所以需要一個可以懶加載的單例。
分支
是一種區分運行環境差異的技術,更加有效的針對加載的環境來定制代碼,達到更好的靈活性。
代碼
var os = require("os"); Singleton = (function () {var uniqueInstance; // 單例實體constructor = function () { // 單例初始化return function Singleton () {var count = 10;function initCount(){count = 10;}this.getCount = function () {return count;}this.setCount = function (value) {count = value;};this.init=function(){initCount();}};}();return {getInstance: function () {if (!uniqueInstance) { // 判斷是否初始化過uniqueInstance = new constructor();}return (os.type()==='Windows_NT')?uniqueInstance:undefined;//單例分支使單例有更高的兼容性}} })(); var S=Singleton .getInstance();//懶加載,在這里開始加載和創建實例。 console.log(S.count); console.log(S.getCount()); S.setCount(550); console.log(S.getCount()); //S.initCount(); S.init(); console.log(S.getCount());總結
單例主要在于代碼的整潔性,是全局變量變得可控,使用懶加載可以減少不必要的內存消耗。分支提高不用環境的兼容性,只需判斷一次環境而不用在每次使用都判斷環境。
總結
以上是生活随笔為你收集整理的JS 设计模式 四(单例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC接收checkbox传
- 下一篇: gradle idea java ssm