>  기사  >  웹 프론트엔드  >  JS 싱글톤 패턴의 상세예_기본지식

JS 싱글톤 패턴의 상세예_기본지식

WBOY
WBOY원래의
2016-05-16 17:13:221313검색

싱글턴이란 무엇인가요?

싱글톤에서는 클래스에 하나의 인스턴스만 있어야 전역 액세스 지점을 제공할 수 있습니다. 그러므로 사용자가 사용할 수 있는 인스턴스는 하나만 가질 수 있도록 일반 컨트롤러를 우회해야 하고, 인스턴스가 몇 개 있는지는 사용자가 신경 쓰지 않으므로 이는 디자이너의 책임입니다

코드 복사 코드는 다음과 같습니다.

JavaScript에서 싱글톤은 구현 코드를 전역에서 격리하는 공유 리소스 네임스페이스 역할을 합니다. 기능에 대한 단일 액세스 지점을 제공하기 위한 네임스페이스입니다.

JavaScript에서 싱글톤은 전역 네임스페이스로 처리되어 객체에 대한 액세스 지점을 제공합니다.

사용 시나리오

코드 복사 코드는 다음과 같습니다.

실제로 싱글톤 패턴은 시스템 전체에서 다른 객체를 조정하기 위해 정확히 하나의 객체가 필요할 때 유용합니다.

비유

단일 사례는 그룹의 팀장과 다소 비슷합니다. 일정 기간 동안 팀장은 단 한 명이며, 팀장은 팀원의 업무를 지정하고 팀원의 업무를 할당하고 조정합니다. .

예 1: 키와 값의 형태로 속성과 메소드를 저장하는 가장 간단한 싱글톤입니다

xx: 3,
yy:4,
B:function(el){

},
C:function(el){

},
D: function(el ){

},
E:function(el){

}
}



예 2: 먼저 인스턴스에 대한 참조를 생성한 다음 인스턴스가 존재하는지 확인합니다. 존재하지 않으면 인스턴스를 생성하여 해당 항목이 있는지 확인합니다. 단 하나의 인스턴스.


코드 복사 코드는 다음과 같습니다.var mySingleton = (function () {
//인스턴스는 싱글톤 인스턴스에 대한 참조를 저장합니다
var 인스턴스;

함수 초기화() {

// 싱글톤

//Private 메서드 및 변수

function privateMethod(){

console.log( "I am private" );

}

var privateVariable = "저도 비공개입니다";

반환 {

// 공유 메소드 및 변수

publicMethod: function () {

console.log( "The public can see me!" );

},

publicProperty: "저도 공개입니다."
};

};

반환 {

// 인스턴스가 존재하지 않는 경우 인스턴스를 만듭니다.

getInstance: function () {

if ( !instance ) {
인스턴스 = init();

}


인스턴스 반환;
}

};

})();

varsingleA = mySingleton;

varsingleB = mySingleton;

console.log(singleA === SingleB); // true




예 3:

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.