의 간단한 싱글 톤 구현을 생각해 보자 :Javascript - 클로저에 대한 인수 사용, 불량 또는 양호?
var singleton = function (Constructor) {
var singleton;
return function() {
if (!singleton) {
singleton = new Constructor();
}
return singleton;
};
};
우리는 인수에 싱글 변수의 선언을 움직일 수 : 부작용에 대한
var singleton = function (Constructor, singleton) {
return function() {
if (!singleton) {
singleton = new Constructor();
}
return singleton;
};
};
는 그래서 단순히 호기심.
하나 더 예 :
var counter = (function (i) {
return function() {
i = (i || 0) + 1;
return i;
};
}());
을 사용하십시오. 'counter'예제는 불필요하게 복잡해 보이며, 모든 호출에서'(i || 0) '을 사용하면 복잡해 보입니다. 바깥 함수에서'var i = 0; '을 사용하는 것이 더 효율적이며, 내부 함수는 한 줄짜리 일 수 있습니다 :'return ++ i;'. – nnnnnn