JavaScript의 코드들을 살펴보면 파라미터가 여럿 사용된 코드들을 쉽게 찾아볼 수 있습니다.
function doLayerFloat(id, start, end, direction, speed, fade, whatelse, Iforgot) {이러한 코드의 가장 큰 문제점은 이 함수를 호출할 때 파라미터의 개수와 순서를 항상 기억해야하는 문제점을 지니고 있습니다. 게다가 첫 파라미터를 제외와 마지막 파라미터만 값을 넘겨야 하는 경우 null 또는 ''의 값을 넘겨야 하는 문제점도 있죠.
}
doLayerFloat('myDIV', null, null, null, null, null, null, 'default') {이러한 복잡함은 인자를 항상 받아야할 파라미터를 제외하고 나머지를 배열로 받음으로써 쉽게 해결할 수 있습니다. (배열을 사용하는 비용은 들겠지만요.)
}
function doLayerFloat(id, props) {※ prototype.js를 사용하신다면 다음과 같은 방법도 사용할 수 있습니다.
var elm = typeof id !== 'string'? id: document.getElementById(id);
for (var i in props) {
}
// 또는 || 연산을 사용하여 디폴트 값을 채워줄 수도 있구요.
props = props || {};
props.start = props.start || 100;
....
}
function doLayerFloat(id, props) {※※ 파라미터가 함께 여러곳에 쓰인다면 Hash가 아닌 의미있는 클래스로 만들어버리는게 바꿔주는게 가장 적당하겠네요. -_-a
var elm = $(id);
props = Object.extend({
start: 100,
...
}, props || {});
}
출처: Wait till I come!의 Sending Objects as parameters - good or bad?
댓글 없음:
댓글 쓰기