아래의 샘플소스를 보다 보니…
(function(marker, title) { …})(arg1,arg2); 이런 형식의 함수 문법이 나옵니다.
function이라는 지시어 앞과 함수의 정의 끝에 괄호’( 함수명(){})'를 씌우는 경우는
jquery 문법에서 맨 앞에 $가 생략된 것인가요?
아래 소스에서는 파라미터가 (marker, places[i].place_name);처럼 붙었는데
이때 끝에 붙는 (arg1,arg2)는 무슨 뜻인가요?
아래 샘플소스
for ( var i=0; i<places.length; i++ ) {
// 마커를 생성하고 지도에 표시합니다
var placePosition = new kakao.maps.LatLng(places[i].y, places[i].x),
marker = addMarker(placePosition, i),
itemEl = getListItem(i, places[i]); // 검색 결과 항목 Element를 생성합니다
// 검색된 장소 위치를 기준으로 지도 범위를 재설정하기위해
// LatLngBounds 객체에 좌표를 추가합니다
bounds.extend(placePosition);
// 마커와 검색결과 항목에 mouseover 했을때
// 해당 장소에 인포윈도우에 장소명을 표시합니다
// mouseout 했을 때는 인포윈도우를 닫습니다
아래부분 함수 앞에 괄호를 씌우는 것은 무슨 의미인가요?
---->여기부터
(function(marker, title) {
kakao.maps.event.addListener(marker, ‘mouseover’, function() {
displayInfowindow(marker, title);
});
kakao.maps.event.addListener(marker, ‘mouseout’, function() {
infowindow.close();
});
itemEl.onmouseover = function () {
displayInfowindow(marker, title);
};
itemEl.onmouseout = function () {
infowindow.close();
};
})(marker, places[i].place_name);
<-------여기까지
fragment.appendChild(itemEl);
}