javascript 디자인 모드 - 단일 모드 (singleton pattern)
var mySingleton = {
property1: "something",
property2: "something else",
method1: function () {
console. log('hello world' );
}
};
단일 모드를 확장하여 개인 변수와 개인 방법을 증가시키다
var mySingleton = function () {
//
var privateVariable = 'something private' ;
//
function showPrivate() {
console. log(privateVariable);
}
//
return {
//
publicMethod: function () {
//
showPrivate();
},
//
publicVar: 'the public can see this!'
};
};
var single = mySingleton();
single.publicMethod();
console.log(single.publicVar);
필요에 따라 초기화
var Singleton = (function() {
var instantiated;
function init() {
//
return {
publicMethod: function () {
console. log('hello world' );
},
publicProperty: 'test'
};
}
return {
getInstance: function () {
if (! instantiated) {
instantiated = init();
}
return instantiated;
}
};
})();
Singleton.getInstance().publicMethod();
기타 변종
var SingletonTester = (function () {
function Singleton(options) {
options = options || {};
this.name = 'SingletonTester' ;
this.pointX = args. pointX || 6;
this.pointY = args. pointY || 10;
}
// holder
var instance;
//
var _static = {
name: 'SingletonTester' ,
getInstance: function (options) {
if (instance === undefined) {
instance = new Singleton(options);
}
return instance;
}
};
return _static;
})();
var singletonTest = SingletonTester.getInstance({
pointX: 5
});
console.log(singletonTest.pointX);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.