📢 대니월드 공식 홈페이지가 'TradingRoom'으로 변경되었습니다
모든 최신 시황과 교육 자료를 가장 빠르게 받는 방법!
지금 아래 버튼을 클릭해 이메일 구독을 완료해 주세요.
자바스크립트 강의 목차
3. 자바스크립트를 크롬브라우저 콘솔에서 작성하고 실행해보기
18. 객체란 무엇인가?(객체 생성, 추가, 추출방법)
기존에 작성된 코드에서 어떻게 함수로 변경하는지, 왜 함수가 필요한지에 대해서 먼저 간단히 살펴보겠습니다.
아래와 같이 기존에 작성된 버튼을 여러개 만들려고 합니다.
기본적으로 2개를 만들어봤는데요.

아래와 같이 작성된 코드의 input태그를 복사해서 하나 더 만들면 되겠죠.
그런데 2개도 복잡하지만, 이게 3,4개 더 많아진다면?..100개, 1000개가 된다면?

뭔가 하나로 동일한 기능을 작성해야 함을 느끼시죠?
이럴때 함수가 필요합니다.
한번 함수로 바꾸는걸 간단히 보여드릴께요!!
기존에 input 태그 안에 작성된 코드를 head 태그 아래에 이렇게 작성합니다.
<script>
function nightDayHandler(self)
{
var target = document.querySelector('body');
if(this.value === 'night'){
target.style.backgroundColor = 'black';
target.style.color = 'white';
this.value = 'day';
var alist=document.querySelectorAll('a');
var i = 0;
while(i < alist.length){
alist[i].style.color = 'powderblue';
i = i + 1;
}
} else {
target.style.backgroundColor = 'white';
target.style.color = 'black';
this.value = 'night';
var alist=document.querySelectorAll('a');
var i = 0;
while(i < alist.length){
alist[i].style.color = 'blue';
i = i + 1;
}
}
}
</script>
nightDayHandler이라는 함수를 만든것이구요.
이걸 사용할때는 아래와 같이 사용하면 됩니다.
<input type="button" value="night" onclick="
nightDayHandler(this);
">
<input type="button" value="night" onclick="
nightDayHandler(this);
">
이렇게 해서 결과를 보면 기존에 input태그 안에 있던 코드를 그대로 복사해서 붙였을때와 결과는 같습니다.
그러나 함수안의 내용만 변경하면 되니깐 그 이후에 유지보수측면에서는 훨씬 좋은 방향으로 바뀌게 된거죠.
이러한 기능을 하는것이 함수입니다.
함수가 왜 필요한지를 살펴봤으니, 다음시간에는 함수의 기본사용법에 대해서 살펴보겠습니다.
본강의는 생활코딩 강의안을 바탕으로 재작성하였습니다.
opentutorials.org/course/3085/18882
댓글